<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=37.49.72.8</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=37.49.72.8"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/37.49.72.8"/>
	<updated>2026-05-06T13:57:09Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=PrivacyWire_-_ProcessWire_Modul&amp;diff=25178</id>
		<title>PrivacyWire - ProcessWire Modul</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=PrivacyWire_-_ProcessWire_Modul&amp;diff=25178"/>
		<updated>2021-01-12T14:50:50Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: Die Seite wurde neu angelegt: „Modul zum Anzeigen eines Cookie Banners und zum Blockieren von Skripten, Externen Medien etc. Das Modul passt das HTML an == Links ==  https://processwire.com/…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Modul zum Anzeigen eines Cookie Banners und zum Blockieren von Skripten, Externen Medien etc. Das Modul passt das HTML an&lt;br /&gt;
== Links ==&lt;br /&gt;
 https://processwire.com/modules/privacy-wire/&lt;br /&gt;
 https://processwire.com/talk/topic/23118-privacywire-cookie-management-async-external-asset-loading/&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* Modul installieren&lt;br /&gt;
* Labels übersetzen&lt;br /&gt;
* Benötigte Ketegorien auswählen&lt;br /&gt;
** Zuordnung der Kategorien funktioniert über data-category Attribut.&lt;br /&gt;
* Skripte anpassen z.B.&lt;br /&gt;
** Normale Skripte: type=&amp;quot;text/plain&amp;quot; data-type=&amp;quot;text/javascript&amp;quot; data-category=&amp;quot;marketing&amp;quot;&lt;br /&gt;
** Externe Skripte: data-src=&amp;quot;...&amp;quot;&lt;br /&gt;
Beispiele:&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/plain&amp;quot; data-type=&amp;quot;text/javascript&amp;quot; data-category=&amp;quot;statistics&amp;quot; data-src=&amp;quot;/path/to/your/statistic/script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/plain&amp;quot; data-type=&amp;quot;text/javascript&amp;quot; data-category=&amp;quot;marketing&amp;quot; data-src=&amp;quot;/path/to/your/mareketing/script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/plain&amp;quot; data-type=&amp;quot;text/javascript&amp;quot; data-category=&amp;quot;external_media&amp;quot; data-src=&amp;quot;/path/to/your/external-media/script.js&amp;quot;&amp;gt;  &amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/plain&amp;quot; data-type=&amp;quot;text/javascript&amp;quot; data-category=&amp;quot;marketing&amp;quot;&amp;gt;console.log(&amp;quot;Inline scripts are also working!&amp;quot;);&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cookie Options anzeigen ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[[privacywire-choose-cookies]] - Mit Textformatter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;#&amp;quot; class=&amp;quot;privacywire-show-options&amp;quot;&amp;gt;Show Cookie Options&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;button class=&amp;quot;privacywire-show-options&amp;quot;&amp;gt;Show Cookie Options&amp;lt;/button&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
.pricacywire,&lt;br /&gt;
.privacywire-banner,&lt;br /&gt;
.privacywire-options{&lt;br /&gt;
	background-color: #009999 !important;&lt;br /&gt;
}&lt;br /&gt;
.pricacywire a,&lt;br /&gt;
.privacywire-banner a,&lt;br /&gt;
.privacywire-options a{&lt;br /&gt;
	color: #fff !important;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video Embed Opt-In==&lt;br /&gt;
Im VideoEmbed Plugin kann man die Kategorie auswählen (z.B. external Media)&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte_-_Beispiele&amp;diff=25177</id>
		<title>Datenschutz - Mustertexte - Beispiele</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte_-_Beispiele&amp;diff=25177"/>
		<updated>2021-01-12T11:35:04Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solmecke All ==&lt;br /&gt;
=== Deutsch ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;Datenschutzerklärung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wir freuen uns sehr über Ihr Interesse an unserem Unternehmen. Datenschutz hat einen besonders hohen Stellenwert für die Geschäftsleitung der Theo Tester GmbH. Eine Nutzung der Internetseiten der Theo Tester GmbH ist grundsätzlich ohne jede Angabe personenbezogener Daten möglich. Sofern eine betroffene Person besondere Services unseres Unternehmens über unsere Internetseite in Anspruch nehmen möchte, könnte jedoch eine Verarbeitung personenbezogener Daten erforderlich werden. Ist die Verarbeitung personenbezogener Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir generell eine Einwilligung der betroffenen Person ein.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die Verarbeitung personenbezogener Daten, beispielsweise des Namens, der Anschrift, E-Mail-Adresse oder Telefonnummer einer betroffenen Person, erfolgt stets im Einklang mit der Datenschutz-Grundverordnung und in Übereinstimmung mit den für die Theo Tester GmbH geltenden landesspezifischen Datenschutzbestimmungen. Mittels dieser Datenschutzerklärung möchte unser Unternehmen die Öffentlichkeit über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren. Ferner werden betroffene Personen mittels dieser Datenschutzerklärung über die ihnen zustehenden Rechte aufgeklärt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die Theo Tester GmbH hat als für die Verarbeitung Verantwortlicher zahlreiche technische und organisatorische Maßnahmen umgesetzt, um einen möglichst lückenlosen Schutz der über diese Internetseite verarbeiteten personenbezogenen Daten sicherzustellen. Dennoch können Internetbasierte Datenübertragungen grundsätzlich Sicherheitslücken aufweisen, sodass ein absoluter Schutz nicht gewährleistet werden kann. Aus diesem Grund steht es jeder betroffenen Person frei, personenbezogene Daten auch auf alternativen Wegen, beispielsweise telefonisch, an uns zu übermitteln.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;1. Begriffsbestimmungen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Datenschutzerklärung der Theo Tester GmbH beruht auf den Begrifflichkeiten, die durch den Europäischen Richtlinien- und Verordnungsgeber beim Erlass der Datenschutz-Grundverordnung (DS-GVO) verwendet wurden. Unsere Datenschutzerklärung soll sowohl für die Öffentlichkeit als auch für unsere Kunden und Geschäftspartner einfach lesbar und verständlich sein. Um dies zu gewährleisten, möchten wir vorab die verwendeten Begrifflichkeiten erläutern.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wir verwenden in dieser Datenschutzerklärung unter anderem die folgenden Begriffe:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a)    personenbezogene Daten&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Personenbezogene Daten sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden „betroffene Person“) beziehen. Als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung oder zu einem oder mehreren besonderen Merkmalen, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind, identifiziert werden kann.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b)    betroffene Person&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Betroffene Person ist jede identifizierte oder identifizierbare natürliche Person, deren personenbezogene Daten von dem für die Verarbeitung Verantwortlichen verarbeitet werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c)    Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verarbeitung ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführte Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten wie das Erheben, das Erfassen, die Organisation, das Ordnen, die Speicherung, die Anpassung oder Veränderung, das Auslesen, das Abfragen, die Verwendung, die Offenlegung durch Übermittlung, Verbreitung oder eine andere Form der Bereitstellung, den Abgleich oder die Verknüpfung, die Einschränkung, das Löschen oder die Vernichtung.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;d)    Einschränkung der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Einschränkung der Verarbeitung ist die Markierung gespeicherter personenbezogener Daten mit dem Ziel, ihre künftige Verarbeitung einzuschränken.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e)    Profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Profiling ist jede Art der automatisierten Verarbeitung personenbezogener Daten, die darin besteht, dass diese personenbezogenen Daten verwendet werden, um bestimmte persönliche Aspekte, die sich auf eine natürliche Person beziehen, zu bewerten, insbesondere, um Aspekte bezüglich Arbeitsleistung, wirtschaftlicher Lage, Gesundheit, persönlicher Vorlieben, Interessen, Zuverlässigkeit, Verhalten, Aufenthaltsort oder Ortswechsel dieser natürlichen Person zu analysieren oder vorherzusagen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f)     Pseudonymisierung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Pseudonymisierung ist die Verarbeitung personenbezogener Daten in einer Weise, auf welche die personenbezogenen Daten ohne Hinzuziehung zusätzlicher Informationen nicht mehr einer spezifischen betroffenen Person zugeordnet werden können, sofern diese zusätzlichen Informationen gesondert aufbewahrt werden und technischen und organisatorischen Maßnahmen unterliegen, die gewährleisten, dass die personenbezogenen Daten nicht einer identifizierten oder identifizierbaren natürlichen Person zugewiesen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;g)    Verantwortlicher oder für die Verarbeitung Verantwortlicher&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verantwortlicher oder für die Verarbeitung Verantwortlicher ist die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten entscheidet. Sind die Zwecke und Mittel dieser Verarbeitung durch das Unionsrecht oder das Recht der Mitgliedstaaten vorgegeben, so kann der Verantwortliche beziehungsweise können die bestimmten Kriterien seiner Benennung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten vorgesehen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h)    Auftragsverarbeiter&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Auftragsverarbeiter ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die personenbezogene Daten im Auftrag des Verantwortlichen verarbeitet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i)      Empfänger&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Empfänger ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, der personenbezogene Daten offengelegt werden, unabhängig davon, ob es sich bei ihr um einen Dritten handelt oder nicht. Behörden, die im Rahmen eines bestimmten Untersuchungsauftrags nach dem Unionsrecht oder dem Recht der Mitgliedstaaten möglicherweise personenbezogene Daten erhalten, gelten jedoch nicht als Empfänger.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;j)      Dritter&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Dritter ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle außer der betroffenen Person, dem Verantwortlichen, dem Auftragsverarbeiter und den Personen, die unter der unmittelbaren Verantwortung des Verantwortlichen oder des Auftragsverarbeiters befugt sind, die personenbezogenen Daten zu verarbeiten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;k)    Einwilligung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Einwilligung ist jede von der betroffenen Person freiwillig für den bestimmten Fall in informierter Weise und unmissverständlich abgegebene Willensbekundung in Form einer Erklärung oder einer sonstigen eindeutigen bestätigenden Handlung, mit der die betroffene Person zu verstehen gibt, dass sie mit der Verarbeitung der sie betreffenden personenbezogenen Daten einverstanden ist.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;2. Name und Anschrift des für die Verarbeitung Verantwortlichen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verantwortlicher im Sinne der Datenschutz-Grundverordnung, sonstiger in den Mitgliedstaaten der Europäischen Union geltenden Datenschutzgesetze und anderer Bestimmungen mit datenschutzrechtlichem Charakter ist die:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Theo Tester GmbH&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Teststraße 1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;12345 Testhausen&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Deutschland&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Tel.: +49 123 456&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;E-Mail: info@theotester.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Website: theotester.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;3. Name und Anschrift des Datenschutzbeauftragten&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der Datenschutzbeauftragte des für die Verarbeitung Verantwortlichen ist:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Herr Theo Tester&lt;br /&gt;
&amp;lt;p&amp;gt;Theo Tester GmbH&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Teststraße 1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;12345 Testhausen&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Deutschland&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Tel.: +49 123 456&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;E-Mail: info@theotester.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Website: theotester.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Jede betroffene Person kann sich jederzeit bei allen Fragen und Anregungen zum Datenschutz direkt an unseren Datenschutzbeauftragten wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;4. Cookies&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseiten der Theo Tester GmbH verwenden Cookies. Cookies sind Textdateien, welche über einen Internetbrowser auf einem Computersystem abgelegt und gespeichert werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zahlreiche Internetseiten und Server verwenden Cookies. Viele Cookies enthalten eine sogenannte Cookie-ID. Eine Cookie-ID ist eine eindeutige Kennung des Cookies. Sie besteht aus einer Zeichenfolge, durch welche Internetseiten und Server dem konkreten Internetbrowser zugeordnet werden können, in dem das Cookie gespeichert wurde. Dies ermöglicht es den besuchten Internetseiten und Servern, den individuellen Browser der betroffenen Person von anderen Internetbrowsern, die andere Cookies enthalten, zu unterscheiden. Ein bestimmter Internetbrowser kann über die eindeutige Cookie-ID wiedererkannt und identifiziert werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch den Einsatz von Cookies kann die Theo Tester GmbH den Nutzern dieser Internetseite nutzerfreundlichere Services bereitstellen, die ohne die Cookie-Setzung nicht möglich wären.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels eines Cookies können die Informationen und Angebote auf unserer Internetseite im Sinne des Benutzers optimiert werden. Cookies ermöglichen uns, wie bereits erwähnt, die Benutzer unserer Internetseite wiederzuerkennen. Zweck dieser Wiedererkennung ist es, den Nutzern die Verwendung unserer Internetseite zu erleichtern. Der Benutzer einer Internetseite, die Cookies verwendet, muss beispielsweise nicht bei jedem Besuch der Internetseite erneut seine Zugangsdaten eingeben, weil dies von der Internetseite und dem auf dem Computersystem des Benutzers abgelegten Cookie übernommen wird. Ein weiteres Beispiel ist das Cookie eines Warenkorbes im Online-Shop. Der Online-Shop merkt sich die Artikel, die ein Kunde in den virtuellen Warenkorb gelegt hat, über ein Cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Ferner können bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden. Dies ist in allen gängigen Internetbrowsern möglich. Deaktiviert die betroffene Person die Setzung von Cookies in dem genutzten Internetbrowser, sind unter Umständen nicht alle Funktionen unserer Internetseite vollumfänglich nutzbar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;5. Erfassung von allgemeinen Daten und Informationen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseite der Theo Tester GmbH erfasst mit jedem Aufruf der Internetseite durch eine betroffene Person oder ein automatisiertes System eine Reihe von allgemeinen Daten und Informationen. Diese allgemeinen Daten und Informationen werden in den Logfiles des Servers gespeichert. Erfasst werden können die (1) verwendeten Browsertypen und Versionen, (2) das vom zugreifenden System verwendete Betriebssystem, (3) die Internetseite, von welcher ein zugreifendes System auf unsere Internetseite gelangt (sogenannte Referrer), (4) die Unterwebseiten, welche über ein zugreifendes System auf unserer Internetseite angesteuert werden, (5) das Datum und die Uhrzeit eines Zugriffs auf die Internetseite, (6) eine Internet-Protokoll-Adresse (IP-Adresse), (7) der Internet-Service-Provider des zugreifenden Systems und (8) sonstige ähnliche Daten und Informationen, die der Gefahrenabwehr im Falle von Angriffen auf unsere informationstechnologischen Systeme dienen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Bei der Nutzung dieser allgemeinen Daten und Informationen zieht die Theo Tester GmbH keine Rückschlüsse auf die betroffene Person. Diese Informationen werden vielmehr benötigt, um (1) die Inhalte unserer Internetseite korrekt auszuliefern, (2) die Inhalte unserer Internetseite sowie die Werbung für diese zu optimieren, (3) die dauerhafte Funktionsfähigkeit unserer informationstechnologischen Systeme und der Technik unserer Internetseite zu gewährleisten sowie (4) um Strafverfolgungsbehörden im Falle eines Cyberangriffes die zur Strafverfolgung notwendigen Informationen bereitzustellen. Diese anonym erhobenen Daten und Informationen werden durch die Theo Tester GmbH daher einerseits statistisch und ferner mit dem Ziel ausgewertet, den Datenschutz und die Datensicherheit in unserem Unternehmen zu erhöhen, um letztlich ein optimales Schutzniveau für die von uns verarbeiteten personenbezogenen Daten sicherzustellen. Die anonymen Daten der Server-Logfiles werden getrennt von allen durch eine betroffene Person angegebenen personenbezogenen Daten gespeichert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;6. Registrierung auf unserer Internetseite&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person hat die Möglichkeit, sich auf der Internetseite des für die Verarbeitung Verantwortlichen unter Angabe von personenbezogenen Daten zu registrieren. Welche personenbezogenen Daten dabei an den für die Verarbeitung Verantwortlichen übermittelt werden, ergibt sich aus der jeweiligen Eingabemaske, die für die Registrierung verwendet wird. Die von der betroffenen Person eingegebenen personenbezogenen Daten werden ausschließlich für die interne Verwendung bei dem für die Verarbeitung Verantwortlichen und für eigene Zwecke erhoben und gespeichert. Der für die Verarbeitung Verantwortliche kann die Weitergabe an einen oder mehrere Auftragsverarbeiter, beispielsweise einen Paketdienstleister, veranlassen, der die personenbezogenen Daten ebenfalls ausschließlich für eine interne Verwendung, die dem für die Verarbeitung Verantwortlichen zuzurechnen ist, nutzt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch eine Registrierung auf der Internetseite des für die Verarbeitung Verantwortlichen wird ferner die vom Internet-Service-Provider (ISP) der betroffenen Person vergebene IP-Adresse, das Datum sowie die Uhrzeit der Registrierung gespeichert. Die Speicherung dieser Daten erfolgt vor dem Hintergrund, dass nur so der Missbrauch unserer Dienste verhindert werden kann, und diese Daten im Bedarfsfall ermöglichen, begangene Straftaten aufzuklären. Insofern ist die Speicherung dieser Daten zur Absicherung des für die Verarbeitung Verantwortlichen erforderlich. Eine Weitergabe dieser Daten an Dritte erfolgt grundsätzlich nicht, sofern keine gesetzliche Pflicht zur Weitergabe besteht oder die Weitergabe der Strafverfolgung dient.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die Registrierung der betroffenen Person unter freiwilliger Angabe personenbezogener Daten dient dem für die Verarbeitung Verantwortlichen dazu, der betroffenen Person Inhalte oder Leistungen anzubieten, die aufgrund der Natur der Sache nur registrierten Benutzern angeboten werden können. Registrierten Personen steht die Möglichkeit frei, die bei der Registrierung angegebenen personenbezogenen Daten jederzeit abzuändern oder vollständig aus dem Datenbestand des für die Verarbeitung Verantwortlichen löschen zu lassen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche erteilt jeder betroffenen Person jederzeit auf Anfrage Auskunft darüber, welche personenbezogenen Daten über die betroffene Person gespeichert sind. Ferner berichtigt oder löscht der für die Verarbeitung Verantwortliche personenbezogene Daten auf Wunsch oder Hinweis der betroffenen Person, soweit dem keine gesetzlichen Aufbewahrungspflichten entgegenstehen. Die Gesamtheit der Mitarbeiter des für die Verarbeitung Verantwortlichen stehen der betroffenen Person in diesem Zusammenhang als Ansprechpartner zur Verfügung.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;7. Abonnement unseres Newsletters&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Auf der Internetseite der Theo Tester GmbH wird den Benutzern die Möglichkeit eingeräumt, den Newsletter unseres Unternehmens zu abonnieren. Welche personenbezogenen Daten bei der Bestellung des Newsletters an den für die Verarbeitung Verantwortlichen übermittelt werden, ergibt sich aus der hierzu verwendeten Eingabemaske.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die Theo Tester GmbH informiert ihre Kunden und Geschäftspartner in regelmäßigen Abständen im Wege eines Newsletters über Angebote des Unternehmens. Der Newsletter unseres Unternehmens kann von der betroffenen Person grundsätzlich nur dann empfangen werden, wenn (1) die betroffene Person über eine gültige E-Mail-Adresse verfügt und (2) die betroffene Person sich für den Newsletterversand registriert. An die von einer betroffenen Person erstmalig für den Newsletterversand eingetragene E-Mail-Adresse wird aus rechtlichen Gründen eine Bestätigungsmail im Double-Opt-In-Verfahren versendet. Diese Bestätigungsmail dient der Überprüfung, ob der Inhaber der E-Mail-Adresse als betroffene Person den Empfang des Newsletters autorisiert hat.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Bei der Anmeldung zum Newsletter speichern wir ferner die vom Internet-Service-Provider (ISP) vergebene IP-Adresse des von der betroffenen Person zum Zeitpunkt der Anmeldung verwendeten Computersystems sowie das Datum und die Uhrzeit der Anmeldung. Die Erhebung dieser Daten ist erforderlich, um den(möglichen) Missbrauch der E-Mail-Adresse einer betroffenen Person zu einem späteren Zeitpunkt nachvollziehen zu können und dient deshalb der rechtlichen Absicherung des für die Verarbeitung Verantwortlichen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die im Rahmen einer Anmeldung zum Newsletter erhobenen personenbezogenen Daten werden ausschließlich zum Versand unseres Newsletters verwendet. Ferner könnten Abonnenten des Newsletters per E-Mail informiert werden, sofern dies für den Betrieb des Newsletter-Dienstes oder eine diesbezügliche Registrierung erforderlich ist, wie dies im Falle von Änderungen am Newsletterangebot oder bei der Veränderung der technischen Gegebenheiten der Fall sein könnte. Es erfolgt keine Weitergabe der im Rahmen des Newsletter-Dienstes erhobenen personenbezogenen Daten an Dritte. Das Abonnement unseres Newsletters kann durch die betroffene Person jederzeit gekündigt werden. Die Einwilligung in die Speicherung personenbezogener Daten, die die betroffene Person uns für den Newsletterversand erteilt hat, kann jederzeit widerrufen werden. Zum Zwecke des Widerrufs der Einwilligung findet sich in jedem Newsletter ein entsprechender Link. Ferner besteht die Möglichkeit, sich jederzeit auch direkt auf der Internetseite des für die Verarbeitung Verantwortlichen vom Newsletterversand abzumelden oder dies dem für die Verarbeitung Verantwortlichen auf andere Weise mitzuteilen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;8. Newsletter-Tracking&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Newsletter der Theo Tester GmbH enthalten sogenannte Zählpixel. Ein Zählpixel ist eine Miniaturgrafik, die in solche E-Mails eingebettet wird, welche im HTML-Format versendet werden, um eine Logdatei-Aufzeichnung und eine Logdatei-Analyse zu ermöglichen. Dadurch kann eine statistische Auswertung des Erfolges oder Misserfolges von Online-Marketing-Kampagnen durchgeführt werden. Anhand des eingebetteten Zählpixels kann die Theo Tester GmbH erkennen, ob und wann eine E-Mail von einer betroffenen Person geöffnet wurde und welche in der E-Mail befindlichen Links von der betroffenen Person aufgerufen wurden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Solche über die in den Newslettern enthaltenen Zählpixel erhobenen personenbezogenen Daten, werden von dem für die Verarbeitung Verantwortlichen gespeichert und ausgewertet, um den Newsletterversand zu optimieren und den Inhalt zukünftiger Newsletter noch besser den Interessen der betroffenen Person anzupassen. Diese personenbezogenen Daten werden nicht an Dritte weitergegeben. Betroffene Personen sind jederzeit berechtigt, die diesbezügliche gesonderte, über das Double-Opt-In-Verfahren abgegebene Einwilligungserklärung zu widerrufen. Nach einem Widerruf werden diese personenbezogenen Daten von dem für die Verarbeitung Verantwortlichen gelöscht. Eine Abmeldung vom Erhalt des Newsletters deutet die Theo Tester GmbH automatisch als Widerruf.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;9. Kontaktmöglichkeit über die Internetseite&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseite der Theo Tester GmbH enthält aufgrund von gesetzlichen Vorschriften Angaben, die eine schnelle elektronische Kontaktaufnahme zu unserem Unternehmen sowie eine unmittelbare Kommunikation mit uns ermöglichen, was ebenfalls eine allgemeine Adresse der sogenannten elektronischen Post (E-Mail-Adresse) umfasst. Sofern eine betroffene Person per E-Mail oder über ein Kontaktformular den Kontakt mit dem für die Verarbeitung Verantwortlichen aufnimmt, werden die von der betroffenen Person übermittelten personenbezogenen Daten automatisch gespeichert. Solche auf freiwilliger Basis von einer betroffenen Person an den für die Verarbeitung Verantwortlichen übermittelten personenbezogenen Daten werden für Zwecke der Bearbeitung oder der Kontaktaufnahme zur betroffenen Person gespeichert. Es erfolgt keine Weitergabe dieser personenbezogenen Daten an Dritte.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;10. Kommentarfunktion im Blog auf der Internetseite&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Theo Tester GmbH bietet den Nutzern auf einem Blog, der sich auf der Internetseite des für die Verarbeitung Verantwortlichen befindet, die Möglichkeit, individuelle Kommentare zu einzelnen Blog-Beiträgen zu hinterlassen. Ein Blog ist ein auf einer Internetseite geführtes, in der Regel öffentlich einsehbares Portal, in welchem eine oder mehrere Personen, die Blogger oder Web-Blogger genannt werden, Artikel posten oder Gedanken in sogenannten Blogposts niederschreiben können. Die Blogposts können in der Regel von Dritten kommentiert werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Hinterlässt eine betroffene Person einen Kommentar in dem auf dieser Internetseite veröffentlichten Blog, werden neben den von der betroffenen Person hinterlassenen Kommentaren auch Angaben zum Zeitpunkt der Kommentareingabe sowie zu dem von der betroffenen Person gewählten Nutzernamen (Pseudonym) gespeichert und veröffentlicht. Ferner wird die vom Internet-Service-Provider (ISP) der betroffenen Person vergebene IP-Adresse mitprotokolliert. Diese Speicherung der IP-Adresse erfolgt aus Sicherheitsgründen und für den Fall, dass die betroffene Person durch einen abgegebenen Kommentar die Rechte Dritter verletzt oder rechtswidrige Inhalte postet. Die Speicherung dieser personenbezogenen Daten erfolgt daher im eigenen Interesse des für die Verarbeitung Verantwortlichen, damit sich dieser im Falle einer Rechtsverletzung gegebenenfalls exkulpieren könnte. Es erfolgt keine Weitergabe dieser erhobenen personenbezogenen Daten an Dritte, sofern eine solche Weitergabe nicht gesetzlich vorgeschrieben ist oder der Rechtsverteidigung des für die Verarbeitung Verantwortlichen dient.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;11. Abonnement von Kommentaren im Blog auf der Internetseite&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die im Blog der Theo Tester GmbH abgegebenen Kommentare können grundsätzlich von Dritten abonniert werden. Insbesondere besteht die Möglichkeit, dass ein Kommentator die seinem Kommentar nachfolgenden Kommentare zu einem bestimmten Blog-Beitrag abonniert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern sich eine betroffene Person für die Option entscheidet, Kommentare zu abonnieren, versendet der für die Verarbeitung Verantwortliche eine automatische Bestätigungsmail, um im Double-Opt-In-Verfahren zu überprüfen, ob sich wirklich der Inhaber der angegebenen E-Mail-Adresse für diese Option entschieden hat. Die Option zum Abonnement von Kommentaren kann jederzeit beendet werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;12. Routinemäßige Löschung und Sperrung von personenbezogenen Daten&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche verarbeitet und speichert personenbezogene Daten der betroffenen Person nur für den Zeitraum, der zur Erreichung des Speicherungszwecks erforderlich ist oder sofern dies durch den Europäischen Richtlinien- und Verordnungsgeber oder einen anderen Gesetzgeber in Gesetzen oder Vorschriften, welchen der für die Verarbeitung Verantwortliche unterliegt, vorgesehen wurde.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Entfällt der Speicherungszweck oder läuft eine vom Europäischen Richtlinien- und Verordnungsgeber oder einem anderen zuständigen Gesetzgeber vorgeschriebene Speicherfrist ab, werden die personenbezogenen Daten routinemäßig und entsprechend den gesetzlichen Vorschriften gesperrt oder gelöscht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;13. Rechte der betroffenen Person&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a)    Recht auf Bestätigung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber eingeräumte Recht, von dem für die Verarbeitung Verantwortlichen eine Bestätigung darüber zu verlangen, ob sie betreffende personenbezogene Daten verarbeitet werden. Möchte eine betroffene Person dieses Bestätigungsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b)    Recht auf Auskunft&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, jederzeit von dem für die Verarbeitung Verantwortlichen unentgeltliche Auskunft über die zu seiner Person gespeicherten personenbezogenen Daten und eine Kopie dieser Auskunft zu erhalten. Ferner hat der Europäische Richtlinien- und Verordnungsgeber der betroffenen Person Auskunft über folgende Informationen zugestanden:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Verarbeitungszwecke&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Kategorien personenbezogener Daten, die verarbeitet werden&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Empfänger oder Kategorien von Empfängern, gegenüber denen die personenbezogenen Daten offengelegt worden sind oder noch offengelegt werden, insbesondere bei Empfängern in Drittländern oder bei internationalen Organisationen&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;falls möglich die geplante Dauer, für die die personenbezogenen Daten gespeichert werden, oder, falls dies nicht möglich ist, die Kriterien für die Festlegung dieser Dauer&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen eines Rechts auf Berichtigung oder Löschung der sie betreffenden personenbezogenen Daten oder auf Einschränkung der Verarbeitung durch den Verantwortlichen oder eines Widerspruchsrechts gegen diese Verarbeitung&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen eines Beschwerderechts bei einer Aufsichtsbehörde&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;wenn die personenbezogenen Daten nicht bei der betroffenen Person erhoben werden: Alle verfügbaren Informationen über die Herkunft der Daten&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling gemäß Artikel 22 Abs.1 und 4 DS-GVO und — zumindest in diesen Fällen — aussagekräftige Informationen über die involvierte Logik sowie die Tragweite und die angestrebten Auswirkungen einer derartigen Verarbeitung für die betroffene Person&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner steht der betroffenen Person ein Auskunftsrecht darüber zu, ob personenbezogene Daten an ein Drittland oder an eine internationale Organisation übermittelt wurden. Sofern dies der Fall ist, so steht der betroffenen Person im Übrigen das Recht zu, Auskunft über die geeigneten Garantien im Zusammenhang mit der Übermittlung zu erhalten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte eine betroffene Person dieses Auskunftsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c)    Recht auf Berichtigung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, die unverzügliche Berichtigung sie betreffender unrichtiger personenbezogener Daten zu verlangen. Ferner steht der betroffenen Person das Recht zu, unter Berücksichtigung der Zwecke der Verarbeitung, die Vervollständigung unvollständiger personenbezogener Daten — auch mittels einer ergänzenden Erklärung — zu verlangen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte eine betroffene Person dieses Berichtigungsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;d)    Recht auf Löschung (Recht auf Vergessen werden)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, von dem Verantwortlichen zu verlangen, dass die sie betreffenden personenbezogenen Daten unverzüglich gelöscht werden, sofern einer der folgenden Gründe zutrifft und soweit die Verarbeitung nicht erforderlich ist:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden für solche Zwecke erhoben oder auf sonstige Weise verarbeitet, für welche sie nicht mehr notwendig sind.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person widerruft ihre Einwilligung, auf die sich die Verarbeitung gemäß Art. 6 Abs. 1 Buchstabe a DS-GVO oder Art. 9 Abs. 2 Buchstabe a DS-GVO stützte, und es fehlt an einer anderweitigen Rechtsgrundlage für die Verarbeitung.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person legt gemäß Art. 21 Abs. 1 DS-GVO Widerspruch gegen die Verarbeitung ein, und es liegen keine vorrangigen berechtigten Gründe für die Verarbeitung vor, oder die betroffene Person legt gemäß Art. 21 Abs. 2 DS-GVO Widerspruch gegen die Verarbeitung ein.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden unrechtmäßig verarbeitet.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Löschung der personenbezogenen Daten ist zur Erfüllung einer rechtlichen Verpflichtung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten erforderlich, dem der Verantwortliche unterliegt.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden in Bezug auf angebotene Dienste der Informationsgesellschaft gemäß Art. 8 Abs. 1 DS-GVO erhoben.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern einer der oben genannten Gründe zutrifft und eine betroffene Person die Löschung von personenbezogenen Daten, die bei der Theo Tester GmbH gespeichert sind, veranlassen möchte, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden. Der Mitarbeiter der Theo Tester GmbH wird veranlassen, dass dem Löschverlangen unverzüglich nachgekommen wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wurden die personenbezogenen Daten von der Theo Tester GmbH öffentlich gemacht und ist unser Unternehmen als Verantwortlicher gemäß Art. 17 Abs. 1 DS-GVO zur Löschung der personenbezogenen Daten verpflichtet, so trifft die Theo Tester GmbH unter Berücksichtigung der verfügbaren Technologie und der Implementierungskosten angemessene Maßnahmen, auch technischer Art, um andere für die Datenverarbeitung Verantwortliche, welche die veröffentlichten personenbezogenen Daten verarbeiten, darüber in Kenntnis zu setzen, dass die betroffene Person von diesen anderen für die Datenverarbeitung Verantwortlichen die Löschung sämtlicher Links zu diesen personenbezogenen Daten oder von Kopien oder Replikationen dieser personenbezogenen Daten verlangt hat, soweit die Verarbeitung nicht erforderlich ist. Der Mitarbeiter der Theo Tester GmbH wird im Einzelfall das Notwendige veranlassen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e)    Recht auf Einschränkung der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, von dem Verantwortlichen die Einschränkung der Verarbeitung zu verlangen, wenn eine der folgenden Voraussetzungen gegeben ist:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Richtigkeit der personenbezogenen Daten wird von der betroffenen Person bestritten, und zwar für eine Dauer, die es dem Verantwortlichen ermöglicht, die Richtigkeit der personenbezogenen Daten zu überprüfen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Verarbeitung ist unrechtmäßig, die betroffene Person lehnt die Löschung der personenbezogenen Daten ab und verlangt stattdessen die Einschränkung der Nutzung der personenbezogenen Daten.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Der Verantwortliche benötigt die personenbezogenen Daten für die Zwecke der Verarbeitung nicht länger, die betroffene Person benötigt sie jedoch zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person hat Widerspruch gegen die Verarbeitung gem. Art. 21 Abs. 1 DS-GVO eingelegt und es steht noch nicht fest, ob die berechtigten Gründe des Verantwortlichen gegenüber denen der betroffenen Person überwiegen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern eine der oben genannten Voraussetzungen gegeben ist und eine betroffene Person die Einschränkung von personenbezogenen Daten, die bei der Theo Tester GmbH gespeichert sind, verlangen möchte, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden. Der Mitarbeiter der Theo Tester GmbH wird die Einschränkung der Verarbeitung veranlassen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f)     Recht auf Datenübertragbarkeit&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, die sie betreffenden personenbezogenen Daten, welche durch die betroffene Person einem Verantwortlichen bereitgestellt wurden, in einem strukturierten, gängigen und maschinenlesbaren Format zu erhalten. Sie hat außerdem das Recht, diese Daten einem anderen Verantwortlichen ohne Behinderung durch den Verantwortlichen, dem die personenbezogenen Daten bereitgestellt wurden, zu übermitteln, sofern die Verarbeitung auf der Einwilligung gemäß Art. 6 Abs. 1 Buchstabe a DS-GVO oder Art. 9 Abs. 2 Buchstabe a DS-GVO oder auf einem Vertrag gemäß Art. 6 Abs. 1 Buchstabe b DS-GVO beruht und die Verarbeitung mithilfe automatisierter Verfahren erfolgt, sofern die Verarbeitung nicht für die Wahrnehmung einer Aufgabe erforderlich ist, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, welche dem Verantwortlichen übertragen wurde.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner hat die betroffene Person bei der Ausübung ihres Rechts auf Datenübertragbarkeit gemäß Art. 20 Abs. 1 DS-GVO das Recht, zu erwirken, dass die personenbezogenen Daten direkt von einem Verantwortlichen an einen anderen Verantwortlichen übermittelt werden, soweit dies technisch machbar ist und sofern hiervon nicht die Rechte und Freiheiten anderer Personen beeinträchtigt werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zur Geltendmachung des Rechts auf Datenübertragbarkeit kann sich die betroffene Person jederzeit an einen Mitarbeiter der Theo Tester GmbH wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;g)    Recht auf Widerspruch&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung sie betreffender personenbezogener Daten, die aufgrund von Art. 6 Abs. 1 Buchstaben e oder f DS-GVO erfolgt, Widerspruch einzulegen. Dies gilt auch für ein auf diese Bestimmungen gestütztes Profiling.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die Theo Tester GmbH verarbeitet die personenbezogenen Daten im Falle des Widerspruchs nicht mehr, es sei denn, wir können zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die den Interessen, Rechten und Freiheiten der betroffenen Person überwiegen, oder die Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Verarbeitet die Theo Tester GmbH personenbezogene Daten, um Direktwerbung zu betreiben, so hat die betroffene Person das Recht, jederzeit Widerspruch gegen die Verarbeitung der personenbezogenen Daten zum Zwecke derartiger Werbung einzulegen. Dies gilt auch für das Profiling, soweit es mit solcher Direktwerbung in Verbindung steht. Widerspricht die betroffene Person gegenüber der Theo Tester GmbH der Verarbeitung für Zwecke der Direktwerbung, so wird die Theo Tester GmbH die personenbezogenen Daten nicht mehr für diese Zwecke verarbeiten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zudem hat die betroffene Person das Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, gegen die sie betreffende Verarbeitung personenbezogener Daten, die bei der Theo Tester GmbH zu wissenschaftlichen oder historischen Forschungszwecken oder zu statistischen Zwecken gemäß Art. 89 Abs. 1 DS-GVO erfolgen, Widerspruch einzulegen, es sei denn, eine solche Verarbeitung ist zur Erfüllung einer im öffentlichen Interesse liegenden Aufgabe erforderlich.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zur Ausübung des Rechts auf Widerspruch kann sich die betroffene Person direkt an jeden Mitarbeiter der Theo Tester GmbH oder einen anderen Mitarbeiter wenden. Der betroffenen Person steht es ferner frei, im Zusammenhang mit der Nutzung von Diensten der Informationsgesellschaft, ungeachtet der Richtlinie 2002/58/EG, ihr Widerspruchsrecht mittels automatisierter Verfahren auszuüben, bei denen technische Spezifikationen verwendet werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h)    Automatisierte Entscheidungen im Einzelfall einschließlich Profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, nicht einer ausschließlich auf einer automatisierten Verarbeitung — einschließlich Profiling — beruhenden Entscheidung unterworfen zu werden, die ihr gegenüber rechtliche Wirkung entfaltet oder sie in ähnlicher Weise erheblich beeinträchtigt, sofern die Entscheidung (1) nicht für den Abschluss oder die Erfüllung eines Vertrags zwischen der betroffenen Person und dem Verantwortlichen erforderlich ist, oder (2) aufgrund von Rechtsvorschriften der Union oder der Mitgliedstaaten, denen der Verantwortliche unterliegt, zulässig ist und diese Rechtsvorschriften angemessene Maßnahmen zur Wahrung der Rechte und Freiheiten sowie der berechtigten Interessen der betroffenen Person enthalten oder (3) mit ausdrücklicher Einwilligung der betroffenen Person erfolgt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ist die Entscheidung (1) für den Abschluss oder die Erfüllung eines Vertrags zwischen der betroffenen Person und dem Verantwortlichen erforderlich oder (2) erfolgt sie mit ausdrücklicher Einwilligung der betroffenen Person, trifft die Theo Tester GmbH angemessene Maßnahmen, um die Rechte und Freiheiten sowie die berechtigten Interessen der betroffenen Person zu wahren, wozu mindestens das Recht auf Erwirkung des Eingreifens einer Person seitens des Verantwortlichen, auf Darlegung des eigenen Standpunkts und auf Anfechtung der Entscheidung gehört.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte die betroffene Person Rechte mit Bezug auf automatisierte Entscheidungen geltend machen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i)      Recht auf Widerruf einer datenschutzrechtlichen Einwilligung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, eine Einwilligung zur Verarbeitung personenbezogener Daten jederzeit zu widerrufen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte die betroffene Person ihr Recht auf Widerruf einer Einwilligung geltend machen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;14. Datenschutz bei Bewerbungen und im Bewerbungsverfahren&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche erhebt und verarbeitet die personenbezogenen Daten von Bewerbern zum Zwecke der Abwicklung des Bewerbungsverfahrens. Die Verarbeitung kann auch auf elektronischem Wege erfolgen. Dies ist insbesondere dann der Fall, wenn ein Bewerber entsprechende Bewerbungsunterlagen auf dem elektronischen Wege, beispielsweise per E-Mail oder über ein auf der Internetseite befindliches Webformular, an den für die Verarbeitung Verantwortlichen übermittelt. Schließt der für die Verarbeitung Verantwortliche einen Anstellungsvertrag mit einem Bewerber, werden die übermittelten Daten zum Zwecke der Abwicklung des Beschäftigungsverhältnisses unter Beachtung der gesetzlichen Vorschriften gespeichert. Wird von dem für die Verarbeitung Verantwortlichen kein Anstellungsvertrag mit dem Bewerber geschlossen, so werden die Bewerbungsunterlagen zwei Monate nach Bekanntgabe der Absageentscheidung automatisch gelöscht, sofern einer Löschung keine sonstigen berechtigten Interessen des für die Verarbeitung Verantwortlichen entgegenstehen. Sonstiges berechtigtes Interesse in diesem Sinne ist beispielsweise eine Beweispflicht in einem Verfahren nach dem Allgemeinen Gleichbehandlungsgesetz (AGG).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;15. Datenschutzbestimmungen zu Einsatz und Verwendung von AddThis&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten des Unternehmens AddThis integriert. AddThis ist ein sogenannter Bookmarking-Provider. Der Dienst ermöglicht ein vereinfachtes Bookmarken von Internetseiten über Buttons. Durch ein Überfahren der AddThis-Komponente mit der Maus oder durch Anklicken mit dieser wird eine Liste mit Bookmarking- und Sharingservices angezeigt. AddThis ist auf über 15 Millionen Internetseiten im Einsatz, und die Buttons werden nach den Angaben der Betreibergesellschaft über 20 Milliarden Mal jährlich angezeigt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von AddThis ist die Firma Oracle Corporation, 10 Van de Graaff Drive, Burlington, MA 01803, USA.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine AddThis-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige AddThis-Komponente veranlasst, Daten von der Internetseite www.addthis.com herunterzuladen. Im Rahmen dieses technischen Verfahrens erhält AddThis Kenntnis über den Besuch und welche konkrete Einzelseite dieser Internetseite durch das von der betroffenen Person verwendete informationstechnologische System genutzt wird. Ferner erhält AddThis Kenntnis über die vom Internet-Service-Provider (ISP) vergebene IP-Adresse des von der betroffenen Person verwendeten Computersystems, den Browsertyp, die Browsersprache, die vor unserer Internetseite aufgerufene Internetseite, das Datum sowie die Uhrzeit des Besuchs unserer Internetseite. AddThis nutzt diese Daten, um anonymisierte Nutzerprofile zu erstellen. Die auf diesem Wege an AddThis übertragenen Daten und Informationen ermöglichen dem Unternehmen AddThis selbst sowie den mit AddThis verbundenen Unternehmen oder dessen Partner-Unternehmen, die Besucher der Internetseiten des für die Verarbeitung Verantwortlichen gezielt mit personalisierter und interessenbezogener Werbung anzusprechen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;AddThis blendet personalisierte und interessenbezogene Werbung auf Basis eines durch das Unternehmen gesetzten Cookies ein. Dieses Cookie analysiert das individuelle Surfverhalten des von der betroffenen Person genutzten Computersystems. Das Cookie speichert die von dem Computersystem ausgehenden Besuche von Internetseiten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass AddThis ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von AddThis bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person hat zudem die Möglichkeit, der Verarbeitung von personenbezogenen Daten durch AddThis dauerhaft zu widersprechen. Hierzu muss die betroffene Person den Opt-Out-Button unter dem Link http://www.addthis.com/privacy/opt-out drücken, der einen Opt-Out-Cookie setzt. Der mit dem Widerspruch gesetzte Opt-Out-Cookie, wird auf dem von der betroffenen Person genutzten informationstechnologischen System abgelegt. Werden die Cookies auf dem System der betroffenen Person nach einem Widerspruch gelöscht, muss die betroffene Person den Link erneut aufrufen und einen neuen Opt-Out-Cookie setzen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mit der Setzung des Opt-Out-Cookies besteht jedoch die Möglichkeit, dass die Internetseiten des für die Verarbeitung Verantwortlichen für die betroffene Person nicht mehr vollumfänglich nutzbar sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von AddThis können unter http://www.addthis.com/privacy/privacy-policy abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;16. Datenschutzbestimmungen zu Einsatz und Verwendung von Adobe Analytics (Omniture) / Adobe Marketing Cloud&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten des Unternehmens Adobe integriert. Adobe Analytics (Omniture) bzw. die Adobe Marketing Cloud (nachfolgend „Omniture“ genannt) ist ein Instrument, das ein effizienteres Online-Marketing sowie eine Web-Analyse ermöglicht. Omniture ist ein Teil der Adobe Marketing Cloud. Die Adobe Marketing Cloud ermöglicht Echtzeitanalysen von Besucherströmen auf Internetseiten. Die Echtzeitanalysen umfassen Projektberichte und gestatten eine Ad-Hoc-Analyse der Internetseitenbesucher. Kundeninteraktionen werden so dargestellt, dass dem für die Verarbeitung Verantwortlichen ein besserer Überblick über die Onlineaktivitäten der Nutzer dieser Internetseite verschafft wird, indem die Daten in einfachen und interaktiven Dashboards angezeigt und in Berichte umgewandelt werden. Dies versetzt den für die Verarbeitung Verantwortlichen in die Lage, Informationen in Echtzeit zu erhalten und hierdurch auftretende Probleme schneller zu erkennen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft dieser Services ist die Adobe Systems Software Ireland Limited, 4-6 Riverwalk, Citywest Business Campus, Dublin 24, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Omniture setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person (Cookies wurden im Vorfeld bereits erklärt; entsprechendes kann oben nachgelesen werden). Der für die Verarbeitung Verantwortliche gewährleistet durch eine Servereinstellung, dass die an das Datencenter von Adobe übermittelten Tracking-Datensätze vor einer Geolokalisierung anonymisiert werden. Die Anonymisierung wird durch das Ersetzen des letzten Teils der IP-Adresse umgesetzt. Der für die Verarbeitung Verantwortliche hat serverseitig Einstellungen vorgenommen, aufgrund derer die IP-Adresse der betroffenen Person vor einer jeweiligen Verarbeitung für die Geolokalisierung und die Reichweitenmessung unabhängig voneinander anonymisiert werden. Adobe wird im Auftrag des für die Verarbeitung Verantwortlichen die über unsere Internetseite gewonnenen Daten und Informationen dazu nutzen das Nutzerverhalten der betroffenen Person auszuwerten. Ferner wird Adobe die Daten nutzen, um in unserem Auftrag Reports über die Nutzeraktivitäten zu erstellen sowie weitere Dienstleistungen für unser Unternehmen zu erbringen, die im Zusammenhang mit der Nutzung unserer Internetseite stehen. Die IP-Adresse der betroffenen Person wird durch Adobe nicht mit anderen personenbezogenen Daten zusammengeführt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Omniture ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können die von Omniture bereits gesetzten Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch das Adobe-Cookie erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch Adobe zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person den Abmelde-Button unter dem Link http://www.adobe.com/de/privacy/opt-out.html drücken, der einen Opt-Out-Cookie setzt. Der mit dem Widerspruch gesetzte Opt-Out-Cookie wird auf dem von der betroffenen Person genutzten informationstechnologischen System abgelegt. Werden die Cookies auf dem System der betroffenen Person nach einem Widerspruch gelöscht, muss die betroffene Person den Link erneut aufrufen und einen neuen Opt-Out-Cookie setzen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mit der Setzung des Opt-Out-Cookies besteht jedoch die Möglichkeit, dass die Internetseiten des für die Verarbeitung Verantwortlichen für die betroffene Person nicht mehr vollumfänglich nutzbar sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von Adobe können unter http://www.adobe.com/de/privacy.html abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;17. Datenschutzbestimmungen zu Einsatz und Verwendung von affilinet&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten des Unternehmens affilinet integriert. Affilinet ist ein deutsches Affiliate-Netzwerk, welches Affiliate-Marketing anbietet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Affiliate-Marketing ist eine Internetgestützte Vertriebsform, die es kommerziellen Betreibern von Internetseiten, den sogenannten Merchants oder Advertisern, ermöglicht, Werbung, die meist über Klick- oder Sale-Provisionen vergütet wird, auf Internetseiten Dritter, also bei Vertriebspartnern, die auch Affiliates oder Publisher genannt werden, einzublenden. Der Merchant stellt über das Affiliate-Netzwerk ein Werbemittel, also einen Werbebanner oder andere geeignete Mittel der Internetwerbung, zur Verfügung, welche in der Folge von einem Affiliate auf eigenen Internetseiten eingebunden oder über sonstige Kanäle, wie etwa das Keyword-Advertising oder E-Mail-Marketing, beworben werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Affilinet ist die affilinet GmbH, Sapporobogen 6-8, 80637 München, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Affilinet setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Das Tracking-Cookie von Affilinet speichert keinerlei personenbezogene Daten. Gespeichert werden lediglich die Identifikationsnummer des Affiliate, also des den potentiellen Kunden vermittelnden Partners, sowie die Ordnungsnummer des Besuchers einer Internetseite und des angeklickten Werbemittels. Zweck der Speicherung dieser Daten ist die Abwicklung von Provisionszahlungen zwischen einem Merchant und dem Affiliate, welche über das Affiliate-Netzwerk, also Affilinet, abgewickelt werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Affilinet ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von Affilinet bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von Affilinet können unter https://www.affili.net/de/footeritem/datenschutz abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;18. Datenschutzbestimmungen zu Einsatz und Verwendung von econda&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten des Unternehmens econda integriert. Econda ist ein Web-Analyse-Dienst. Web-Analyse ist die Erhebung, Sammlung und Auswertung von Daten über das Verhalten von Besuchern von Internetseiten. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Internetseite eine betroffene Person auf eine Internetseite gekommen ist (sogenannte Referrer), auf welche Unterseiten der Internetseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde. Eine Web-Analyse wird überwiegend zur Optimierung einer Internetseite und zur Kosten-Nutzen-Analyse von Internetwerbung eingesetzt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von econda ist die econda GmbH, Zimmerstraße 6, 76137 Karlsruhe, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Econda setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine econda-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige econda-Komponente veranlasst, Daten zu Marketing- und Optimierungszwecken an econda zu übermitteln. Im Rahmen dieses technischen Verfahrens erhält econda Kenntnis über Daten, die in der Folge zur Erstellung von pseudonymen Nutzungsprofilen verwendet werden. Die so gewonnenen Nutzungsprofile dienen der Analyse des Verhaltens der betroffenen Person, welche auf die Internetseite des für die Verarbeitung Verantwortlichen zugegriffen hat und werden mit dem Ziel, die Internetseite zur verbessern und zu optimieren, ausgewertet. Die über die econda-Komponente erhobenen Daten werden nicht ohne vorherige Einholung einer gesonderten und ausdrücklichen Einwilligung der betroffenen Person dazu genutzt, die betroffene Person zu identifizieren. Diese Daten werden nicht mit personenbezogenen Daten oder mit anderen Daten, die das gleiche Pseudonym enthalten, zusammengeführt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass econda ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von econda bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch den econda-Cookie erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch econda zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person den Absende-Button unter dem Link http://www.econda.de/econda/unternehmen/datenschutz/widerspruchscookie/ drücken, der den Opt-Out-Cookie setzt. Der mit dem Widerspruch gesetzte Opt-Out-Cookie wird auf dem von der betroffenen Person genutzten informationstechnologischen System abgelegt. Werden die Cookies auf dem System der betroffenen Person nach einem Widerspruch gelöscht, muss die betroffene Person den Link erneut aufrufen und einen neuen Opt-Out-Cookie setzen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mit der Setzung des Opt-Out-Cookies besteht jedoch die Möglichkeit, dass die Internetseiten des für die Verarbeitung Verantwortlichen für die betroffene Person nicht mehr vollumfänglich nutzbar sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von econda können unter http://www.econda.de/econda/unternehmen/datenschutz/datenschutzerklaerung/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;19. Datenschutzbestimmungen zu Einsatz und Verwendung von etracker&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten des Unternehmens etracker integriert. Etracker ist ein Web-Analyse-Dienst. Web-Analyse ist die Erhebung, Sammlung und Auswertung von Daten über das Verhalten der Besucher von Internetseiten. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Internetseite eine betroffene Person auf eine Internetseite gekommen ist (sogenannte Referrer), auf welche Unterseiten der Internetseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde. Eine Web-Analyse wird überwiegend zur Optimierung einer Internetseite und zur Kosten-Nutzen-Analyse von Internetwerbung eingesetzt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von etracker ist die etracker GmbH, Erste Brunnenstraße 1, 20459 Hamburg, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Etracker setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine etracker-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige etracker-Komponente veranlasst, Daten zu Marketing- und Optimierungszwecken an etracker zu übermitteln. Im Rahmen dieses technischen Verfahrens erhält etracker Kenntnis über Daten, die in der Folge zur Erstellung von pseudonymen Nutzungsprofilen verwendet werden. Die so gewonnenen Nutzungsprofile dienen der Analyse des Verhaltens der betroffenen Person, welche auf die Internetseite des für die Verarbeitung Verantwortlichen zugegriffen hat und werden mit dem Ziel, die Internetseite zur verbessern und zu optimieren, ausgewertet. Die über die etracker-Komponente erhobenen Daten werden nicht ohne vorherige Einholung einer gesonderten und ausdrücklichen Einwilligung der betroffenen Person dazu genutzt, die betroffene Person zu identifizieren. Diese Daten werden nicht mit personenbezogenen Daten oder mit anderen Daten, die das gleiche Pseudonym enthalten, zusammengeführt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass etracker ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von etracker bereits gesetzte Cookies jederzeit über den Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch den etracker-Cookie erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch etracker zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person den Cookie-setzen-Button unter dem Link http://www.etracker.de/privacy?et=V23Jbb drücken, der einen Opt-Out-Cookie setzt. Der mit dem Widerspruch gesetzte Opt-Out-Cookie wird auf dem von der betroffenen Person genutzten informationstechnologischen System abgelegt. Werden die Cookies auf dem System der betroffenen Person nach einem Widerspruch gelöscht, muss die betroffene Person den Link erneut aufrufen und einen neuen Opt-Out-Cookie setzen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mit der Setzung des Opt-Out-Cookies besteht jedoch die Möglichkeit, dass die Internetseiten des für die Verarbeitung Verantwortlichen für die betroffene Person nicht mehr vollumfänglich nutzbar sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von etracker können unter https://www.etracker.com/de/datenschutz.html abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;20. Datenschutzbestimmungen zu Einsatz und Verwendung von Facebook&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten des Unternehmens Facebook integriert. Facebook ist ein soziales Netzwerk.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ein soziales Netzwerk ist ein im Internet betriebener sozialer Treffpunkt, eine Online-Gemeinschaft, die es den Nutzern in der Regel ermöglicht, untereinander zu kommunizieren und im virtuellen Raum zu interagieren. Ein soziales Netzwerk kann als Plattform zum Austausch von Meinungen und Erfahrungen dienen oder ermöglicht es der Internetgemeinschaft, persönliche oder unternehmensbezogene Informationen bereitzustellen. Facebook ermöglicht den Nutzern des sozialen Netzwerkes unter anderem die Erstellung von privaten Profilen, den Upload von Fotos und eine Vernetzung über Freundschaftsanfragen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Facebook ist die Facebook, Inc., 1 Hacker Way, Menlo Park, CA 94025, USA. Für die Verarbeitung personenbezogener Daten Verantwortlicher ist, wenn eine betroffene Person außerhalb der USA oder Kanada lebt, die Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Facebook-Komponente (Facebook-Plug-In) integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Facebook-Komponente veranlasst, eine Darstellung der entsprechenden Facebook-Komponente von Facebook herunterzuladen. Eine Gesamtübersicht über alle Facebook-Plug-Ins kann unter https://developers.facebook.com/docs/plugins/?locale=de_DE abgerufen werden. Im Rahmen dieses technischen Verfahrens erhält Facebook Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei Facebook eingeloggt ist, erkennt Facebook mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite unserer Internetseite die betroffene Person besucht. Diese Informationen werden durch die Facebook-Komponente gesammelt und durch Facebook dem jeweiligen Facebook-Account der betroffenen Person zugeordnet. Betätigt die betroffene Person einen der auf unserer Internetseite integrierten Facebook-Buttons, beispielsweise den „Gefällt mir“-Button, oder gibt die betroffene Person einen Kommentar ab, ordnet Facebook diese Information dem persönlichen Facebook-Benutzerkonto der betroffenen Person zu und speichert diese personenbezogenen Daten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Facebook erhält über die Facebook-Komponente immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufs unserer Internetseite gleichzeitig bei Facebook eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person die Facebook-Komponente anklickt oder nicht. Ist eine derartige Übermittlung dieser Informationen an Facebook von der betroffenen Person nicht gewollt, kann diese die Übermittlung dadurch verhindern, dass sie sich vor einem Aufruf unserer Internetseite aus ihrem Facebook-Account ausloggt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die von Facebook veröffentlichte Datenrichtlinie, die unter https://de-de.facebook.com/about/privacy/ abrufbar ist, gibt Aufschluss über die Erhebung, Verarbeitung und Nutzung personenbezogener Daten durch Facebook. Ferner wird dort erläutert, welche Einstellungsmöglichkeiten Facebook zum Schutz der Privatsphäre der betroffenen Person bietet. Zudem sind unterschiedliche Applikationen erhältlich, die es ermöglichen, eine Datenübermittlung an Facebook zu unterdrücken. Solche Applikationen können durch die betroffene Person genutzt werden, um eine Datenübermittlung an Facebook zu unterdrücken.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;21. Datenschutzbestimmungen zu Einsatz und Verwendung von Flattr&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten des Unternehmens Flattr integriert. Flattr ist ein Social-Payment-Dienst aus Schweden, der es dem Nutzer durch Einzahlungen auf ein Guthabenkonto und Bestimmung eines monatlichen Budgets ermöglicht, Spenden an Medienanbieter im Internet zu verteilen. Der Nutzer des Dienstes kann Flattr durch Anklicken eines Flattr-Buttons, der auf der Internetseite eines Medienanbieters integriert ist, anweisen, sein festgelegtes Monatsbudget mit auf diesen Medienanbieter zu verteilen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Flattr ist die Flattr AB, Box 4111, 203 12 Malmö, Schweden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Flattr-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Flattr-Komponente veranlasst, eine Darstellung der entsprechenden Flattr-Komponente von Flattr herunterzuladen. Im Rahmen dieses technischen Verfahrens erhält Flattr Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei Flattr eingeloggt ist, erkennt Flattr mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite unserer Internetseite die betroffene Person besucht. Diese Informationen werden durch die Flattr-Komponente gesammelt und durch Flattr dem jeweiligen Flattr-Account der betroffenen Person zugeordnet. Betätigt die betroffene Person den auf unserer Internetseite integrierten Flattr-Button, so wird diese Information zu Abrechnungszwecken an Flattr übermittelt. Der Übermittlung derartiger Informationen hat die betroffene Person gegenüber Flattr bereits zugestimmt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Flattr können unter https://flattr.com/privacy abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;22. Datenschutzbestimmungen zu Einsatz und Verwendung von Funktionen des Amazon-Partnerprogramms&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat als Teilnehmer des Amazon-Partnerprogramms auf dieser Internetseite Amazon-Komponenten integriert. Die Amazon-Komponenten wurden von Amazon mit dem Ziel konzipiert, Kunden über Werbeanzeigen auf unterschiedliche Internetseiten der Amazon-Gruppe, insbesondere auf Amazon.co.uk, Local.Amazon.co.uk, Amazon.de, BuyVIP.com, Amazon.fr, Amazon.it und Amazon.es. BuyVIP.com gegen Zahlung einer Provision zu vermitteln. Der für die Verarbeitung Verantwortliche kann durch die Nutzung der Amazon-Komponenten Werbeeinnahmen generieren.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft dieser Amazon-Komponenten ist die Amazon EU S.à.r.l, 5 Rue Plaetis, L-2338 Luxembourg, Luxemburg.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Amazon setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Durch jeden einzelnen Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Amazon-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Amazon-Komponente veranlasst, Daten zum Zwecke der Online-Werbung und der Abrechnung von Provisionen an Amazon zu übermitteln. Im Rahmen dieses technischen Verfahrens erhält Amazon Kenntnis über personenbezogene Daten, die Amazon dazu dienen, die Herkunft von bei Amazon eingehenden Bestellungen nachzuvollziehen und in der Folge eine Provisionsabrechnung zu ermöglichen. Amazon kann unter anderem nachvollziehen, dass die betroffene Person einen Partnerlink auf unserer Internetseite angeklickt hat.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Amazon ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von Amazon bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Amazon können unter https://www.amazon.de/gp/help/customer/display.html?nodeId=3312401 abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;23. Datenschutzbestimmungen zu Einsatz und Verwendung von Funktionen der Verwertungsgesellschaft WORT (VG WORT)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Zählpixel integriert. Ein Zählpixel ist eine Miniaturgrafik, die in Internetseiten eingebettet wird, um eine Logdatei-Aufzeichnung und eine Logdatei-Analyse zu ermöglichen, wodurch eine statistische Auswertung durchgeführt werden kann. Die integrierten Zählpixel dienen dem Skalierbaren Zentralen Messverfahren (SZM) der Verwertungsgesellschaft WORT (VG-Wort).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Das Skalierbare Zentrale Messverfahren wird von der INFOnline GmbH, Brühler Str. 9, 53119 Bonn, Germany betrieben.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Das Skalierbare Zentrale Messverfahren dient der Ermittlung statistischer Kennzahlen, mit denen die Kopierwahrscheinlichkeit von Texten berechnet wird. Anhand des eingebetteten Zählpixels wird ermöglicht, dass die Verwertungsgesellschaft WORT erkennen kann, ob, wann und von wie vielen Nutzern (darunter ist die betroffene Person) unsere Internetseite geöffnet wurde und welche Inhalte abgerufen wurden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die mittels des Skalierbaren Zentralen Messverfahrens erlangten Daten werden anonym erhoben. Zur Erfassung der Zugriffszahlen wird zum Zwecke der Wiedererkennung der Nutzer einer Internetseite entweder ein sogenannter Session-Cookie gesetzt, also eine Signatur erstellt, welche sich aus verschiedenen automatisch übertragenen Informationen zusammensetzt oder alternative Methoden verwendet. Die IP-Adresse des von der betroffenen Person genutzten Internetanschlusses wird nur in anonymisierter Form erhoben und verarbeitet. Die betroffene Person wird zu keinem Zeitpunkt identifiziert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass INFOnline ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von INFOnline bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch den INFOnline erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch INFOnline zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person den Opt-Out-Button unter dem Link http://optout.ioam.de drücken, der einen Opt-Out-Cookie setzt. Der mit dem Widerspruch gesetzte Opt-Out-Cookie wird auf dem von der betroffenen Person genutzten informationstechnologischen System abgelegt. Werden die Cookies auf dem System der betroffenen Person nach einem Widerspruch gelöscht, muss die betroffene Person den Link erneut aufrufen und einen neuen Opt-Out-Cookie setzen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mit der Setzung des Opt-Out-Cookies besteht jedoch die Möglichkeit, dass die Internetseiten des für die Verarbeitung Verantwortlichen für die betroffene Person nicht mehr vollumfänglich nutzbar sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von INFOnline können unter https://www.infonline.de/datenschutz/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;24. Datenschutzbestimmungen zu Einsatz und Verwendung von Getty Images Bildern&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten des Unternehmens Getty Images integriert. Getty Images ist eine amerikanische Bildagentur. Eine Bildagentur ist ein Unternehmen, welches auf dem Markt Bilder und anderes Bildmaterial anbietet. Bildagenturen vermarkten in der Regel Fotografien, Illustrationen und Filmmaterial. Über eine Bildagentur lizensieren unterschiedliche Kunden, insbesondere Internetseitenbetreiber, Redaktionen von Print- und TV-Medien und Werbeagenturen, die von ihnen eingesetzten Bilder.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft der Getty-Images-Komponenten ist die Getty Images International, 1st Floor, The Herbert Building, The Park, Carrickmines, Dublin 18, Irland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Getty Images gestattet das (ggf. kostenlose) Einbetten von Stockbildern. Einbetten ist die Einbindung oder Integration eines bestimmten fremden Inhalts, beispielsweise von Text-, Video- oder Bild-Daten, die von einer fremden Internetseite bereitgestellt werden und dann auf der eigenen Internetseite erscheinen. Zur Einbettung wird ein sogenannter Einbettungscode verwendet. Ein Einbettungscode ist ein HTML-Code, der von einem Internetseitenbetreiber in eine Internetseite integriert wird. Wurde von einem Internetseitenbetreiber ein Einbettungscode integriert, werden die externen Inhalte der anderen Internetseite standardmäßig unmittelbar angezeigt, sobald eine Internetseite besucht wird. Zur Anzeige der fremden Inhalte werden die externen Inhalte unmittelbar von der anderen Internetseite geladen. Getty Images stellt unter dem Link http://www.gettyimages.de/resources/embed weitere Informationen über das Einbetten von Inhalten zur Verfügung.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Über die technische Implementierung des Einbettungscodes, der die Bildanzeige der Bilder von Getty Images ermöglicht, wird die IP-Adresse des Internetanschlusses, über welchen die betroffene Person auf unsere Internetseite zugreift, an Getty Images übertragen. Ferner erfasst Getty Images unsere Internetseite, den genutzten Browsertyp, die Browsersprache, den Zeitpunkt und die Länge des Zugriffs. Darüber hinaus kann Getty Images Navigationsinformationen, das sind Informationen darüber, welche unserer Unterseiten von der betroffenen Person besucht und welche Links angeklickt wurden, sowie andere Interaktionen, die die betroffene Person beim Besuch unserer Internetseite ausgeführt hat, erfassen. Diese Daten können von Getty Images gespeichert und ausgewertet werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Getty Images können unter https://www.gettyimages.de/company/privacy-policy abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;25. Datenschutzbestimmungen zu Einsatz und Verwendung von Google AdSense&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Google AdSense integriert. Google AdSense ist ein Online-Dienst, über welchen eine Vermittlung von Werbung auf Drittseiten ermöglicht wird. Google AdSense beruht auf einem Algorithmus, welcher die auf Drittseiten angezeigten Werbeanzeigen passend zu den Inhalten der jeweiligen Drittseite auswählt. Google AdSense gestattet ein interessenbezogenes Targeting des Internetnutzers, welches mittels Generierung von individuellen Benutzerprofilen umgesetzt wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft der Google-AdSense-Komponente ist die Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der Zweck der Google-AdSense-Komponente ist die Einbindung von Werbeanzeigen auf unserer Internetseite. Google-AdSense setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Mit der Setzung des Cookies wird der Alphabet Inc. eine Analyse der Benutzung unserer Internetseite ermöglicht. Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Google-AdSense-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Google-AdSense-Komponente veranlasst, Daten zum Zwecke der Online-Werbung und der Abrechnung von Provisionen an die Alphabet Inc. zu übermitteln. Im Rahmen dieses technischen Verfahrens erhält die Alphabet Inc. Kenntnis über personenbezogene Daten, wie der IP-Adresse der betroffenen Person, die der Alphabet Inc. unter anderem dazu dienen, die Herkunft der Besucher und Klicks nachzuvollziehen und in der Folge Provisionsabrechnungen zu ermöglichen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass die Alphabet Inc. ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem kann ein von der Alphabet Inc. bereits gesetzter Cookie jederzeit über den Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Google AdSense verwendet zudem sogenannte Zählpixel. Ein Zählpixel ist eine Miniaturgrafik, die in Internetseiten eingebettet wird, um eine Logdatei-Aufzeichnung und eine Logdatei-Analyse zu ermöglichen, wodurch eine statistische Auswertung durchgeführt werden kann. Anhand des eingebetteten Zählpixels kann die Alphabet Inc. erkennen, ob und wann eine Internetseite von einer betroffenen Person geöffnet wurde und welche Links von der betroffenen Person angeklickt wurden. Zählpixel dienen unter anderem dazu, den Besucherfluss einer Internetseite auszuwerten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Über Google AdSense werden personenbezogene Daten und Informationen, was auch die IP-Adresse umfasst und zur Erfassung und Abrechnung der angezeigten Werbeanzeigen notwendig ist, an die Alphabet Inc. in die Vereinigten Staaten von Amerika übertragen. Diese personenbezogenen Daten werden in den Vereinigten Staaten von Amerika gespeichert und verarbeitet. Die Alphabet Inc. gibt diese über das technische Verfahren erhobenen personenbezogenen Daten unter Umständen an Dritte weiter.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Google-AdSense wird unter diesem Link https://www.google.de/intl/de/adsense/start/ genauer erläutert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;26. Datenschutzbestimmungen zu Einsatz und Verwendung von Google Analytics (mit Anonymisierungsfunktion)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite die Komponente Google Analytics (mit Anonymisierungsfunktion) integriert. Google Analytics ist ein Web-Analyse-Dienst. Web-Analyse ist die Erhebung, Sammlung und Auswertung von Daten über das Verhalten von Besuchern von Internetseiten. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Internetseite eine betroffene Person auf eine Internetseite gekommen ist (sogenannte Referrer), auf welche Unterseiten der Internetseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde. Eine Web-Analyse wird überwiegend zur Optimierung einer Internetseite und zur Kosten-Nutzen-Analyse von Internetwerbung eingesetzt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft der Google-Analytics-Komponente ist die Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche verwendet für die Web-Analyse über Google Analytics den Zusatz &amp;quot;_gat._anonymizeIp&amp;quot;. Mittels dieses Zusatzes wird die IP-Adresse des Internetanschlusses der betroffenen Person von Google gekürzt und anonymisiert, wenn der Zugriff auf unsere Internetseiten aus einem Mitgliedstaat der Europäischen Union oder aus einem anderen Vertragsstaat des Abkommens über den Europäischen Wirtschaftsraum erfolgt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der Zweck der Google-Analytics-Komponente ist die Analyse der Besucherströme auf unserer Internetseite. Google nutzt die gewonnenen Daten und Informationen unter anderem dazu, die Nutzung unserer Internetseite auszuwerten, um für uns Online-Reports, welche die Aktivitäten auf unseren Internetseiten aufzeigen, zusammenzustellen, und um weitere mit der Nutzung unserer Internetseite in Verbindung stehende Dienstleistungen zu erbringen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Google Analytics setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Mit Setzung des Cookies wird Google eine Analyse der Benutzung unserer Internetseite ermöglicht. Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Google-Analytics-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Google-Analytics-Komponente veranlasst, Daten zum Zwecke der Online-Analyse an Google zu übermitteln. Im Rahmen dieses technischen Verfahrens erhält Google Kenntnis über personenbezogene Daten, wie der IP-Adresse der betroffenen Person, die Google unter anderem dazu dienen, die Herkunft der Besucher und Klicks nachzuvollziehen und in der Folge Provisionsabrechnungen zu ermöglichen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels des Cookies werden personenbezogene Informationen, beispielsweise die Zugriffszeit, der Ort, von welchem ein Zugriff ausging und die Häufigkeit der Besuche unserer Internetseite durch die betroffene Person, gespeichert. Bei jedem Besuch unserer Internetseiten werden diese personenbezogenen Daten, einschließlich der IP-Adresse des von der betroffenen Person genutzten Internetanschlusses, an Google in den Vereinigten Staaten von Amerika übertragen. Diese personenbezogenen Daten werden durch Google in den Vereinigten Staaten von Amerika gespeichert. Google gibt diese über das technische Verfahren erhobenen personenbezogenen Daten unter Umständen an Dritte weiter.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Google ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem kann ein von Google Analytics bereits gesetzter Cookie jederzeit über den Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch Google Analytics erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch Google zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person ein Browser-Add-On unter dem Link https://tools.google.com/dlpage/gaoptout herunterladen und installieren. Dieses Browser-Add-On teilt Google Analytics über JavaScript mit, dass keine Daten und Informationen zu den Besuchen von Internetseiten an Google Analytics übermittelt werden dürfen. Die Installation des Browser-Add-Ons wird von Google als Widerspruch gewertet. Wird das informationstechnologische System der betroffenen Person zu einem späteren Zeitpunkt gelöscht, formatiert oder neu installiert, muss durch die betroffene Person eine erneute Installation des Browser-Add-Ons erfolgen, um Google Analytics zu deaktivieren. Sofern das Browser-Add-On durch die betroffene Person oder einer anderen Person, die ihrem Machtbereich zuzurechnen ist, deinstalliert oder deaktiviert wird, besteht die Möglichkeit der Neuinstallation oder der erneuten Aktivierung des Browser-Add-Ons.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Google können unter https://www.google.de/intl/de/policies/privacy/ und unter http://www.google.com/analytics/terms/de.html abgerufen werden. Google Analytics wird unter diesem Link https://www.google.com/intl/de_de/analytics/ genauer erläutert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;27. Datenschutzbestimmungen zu Einsatz und Verwendung von Google Remarketing&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Dienste von Google Remarketing integriert. Google Remarketing ist eine Funktion von Google-AdWords, die es einem Unternehmen ermöglicht, bei solchen Internetnutzern Werbung einblenden zu lassen, die sich zuvor auf der Internetseite des Unternehmens aufgehalten haben. Die Integration von Google Remarketing gestattet es einem Unternehmen demnach, nutzerbezogene Werbung zu erstellen und dem Internetnutzer folglich interessenrelevante Werbeanzeigen anzeigen zu lassen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft der Dienste von Google Remarketing ist die Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zweck von Google Remarketing ist die Einblendung von interessenrelevanter Werbung. Google Remarketing ermöglicht es uns, Werbeanzeigen über das Google-Werbenetzwerk anzuzeigen oder auf anderen Internetseiten anzeigen zu lassen, welche auf die individuellen Bedürfnisse und Interessen von Internetnutzern abgestimmt sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Google Remarketing setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Mit der Setzung des Cookies wird Google eine Wiedererkennung des Besuchers unserer Internetseite ermöglicht, wenn dieser in der Folge Internetseiten aufruft, die ebenfalls Mitglied des Google-Werbenetzwerks sind. Mit jedem Aufruf einer Internetseite, auf welcher der Dienst von Google Remarketing integriert wurde, identifiziert sich der Internetbrowser der betroffenen Person automatisch bei Google. Im Rahmen dieses technischen Verfahrens erhält Google Kenntnis über personenbezogene Daten, wie der IP-Adresse oder des Surfverhaltens des Nutzers, welche Google unter anderem zur Einblendung interessenrelevanter Werbung verwendet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels des Cookies werden personenbezogene Informationen, beispielsweise die durch die betroffene Person besuchten Internetseiten, gespeichert. Bei jedem Besuch unserer Internetseiten werden demnach personenbezogene Daten, einschließlich der IP-Adresse des von der betroffenen Person genutzten Internetanschlusses, an Google in den Vereinigten Staaten von Amerika übertragen. Diese personenbezogenen Daten werden durch Google in den Vereinigten Staaten von Amerika gespeichert. Google gibt diese über das technische Verfahren erhobenen personenbezogenen Daten unter Umständen an Dritte weiter.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Google ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem kann ein von Google Analytics bereits gesetzter Cookie jederzeit über den Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, der interessenbezogenen Werbung durch Google zu widersprechen. Hierzu muss die betroffene Person von jedem der von ihr genutzten Internetbrowser aus den Link www.google.de/settings/ads aufrufen und dort die gewünschten Einstellungen vornehmen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Google können unter https://www.google.de/intl/de/policies/privacy/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;28. Datenschutzbestimmungen zu Einsatz und Verwendung von Google+&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite als Komponente die Google+ Schaltfläche integriert. Google+ ist ein sogenanntes soziales Netzwerk. Ein soziales Netzwerk ist ein im Internet betriebener sozialer Treffpunkt, eine Online-Gemeinschaft, die es den Nutzern in der Regel ermöglicht, untereinander zu kommunizieren und im virtuellen Raum zu interagieren. Ein soziales Netzwerk kann als Plattform zum Austausch von Meinungen und Erfahrungen dienen oder ermöglicht es der Internetgemeinschaft, persönliche oder unternehmensbezogene Informationen bereitzustellen. Google+ ermöglicht den Nutzern des sozialen Netzwerkes unter anderem die Erstellung von privaten Profilen, den Upload von Fotos und eine Vernetzung über Freundschaftsanfragen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Google+ ist die Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Google+ Schaltfläche integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Google+ Schaltfläche veranlasst, eine Darstellung der entsprechenden Google+ Schaltfläche von Google herunterzuladen. Im Rahmen dieses technischen Verfahrens erhält Google Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird. Genauere Informationen zu Google+ sind unter https://developers.google.com/+/ abrufbar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei Google+ eingeloggt ist, erkennt Google mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite unserer Internetseite die betroffene Person besucht. Diese Informationen werden durch die Google+ Schaltfläche gesammelt und durch Google dem jeweiligen Google+-Account der betroffenen Person zugeordnet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betätigt die betroffene Person einen der auf unserer Internetseite integrierten Google+-Buttons und gibt damit eine Google+1 Empfehlung ab, ordnet Google diese Information dem persönlichen Google+-Benutzerkonto der betroffenen Person zu und speichert diese personenbezogenen Daten. Google speichert die Google+1-Empfehlung der betroffenen Person und macht diese in Übereinstimmung mit den von der betroffenen Person diesbezüglich akzeptierten Bedingungen öffentlich zugänglich. Eine von der betroffenen Person auf dieser Internetseite abgegebene Google+1-Empfehlung wird in der Folge zusammen mit anderen personenbezogenen Daten, wie dem Namen des von der betroffenen Person genutzten Google+1-Accounts und dem in diesem hinterlegten Foto in anderen Google-Diensten, beispielsweise den Suchmaschinenergebnissen der Google-Suchmaschine, dem Google-Konto der betroffenen Person oder an sonstigen Stellen, beispielsweise auf Internetseiten oder im Zusammenhang mit Werbeanzeigen, gespeichert und verarbeitet. Ferner ist Google in der Lage, den Besuch auf dieser Internetseite mit anderen bei Google gespeicherten personenbezogenen Daten zu verknüpfen. Google zeichnet diese personenbezogenen Informationen ferner mit dem Zweck auf, die unterschiedlichen Dienste von Google zu verbessern oder zu optimieren.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Google erhält über die Google+-Schaltfläche immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufs unserer Internetseite gleichzeitig bei Google+ eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person die Google+-Schaltfläche anklickt oder nicht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ist eine Übermittlung personenbezogener Daten an Google von der betroffenen Person nicht gewollt, kann diese eine solche Übermittlung dadurch verhindern, dass sie sich vor einem Aufruf unserer Internetseite aus ihrem Google+-Account ausloggt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Google können unter https://www.google.de/intl/de/policies/privacy/ abgerufen werden. Weitere Hinweise von Google zur Google+1-Schaltfläche können unter https://developers.google.com/+/web/buttons-policy abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;29. Datenschutzbestimmungen zu Einsatz und Verwendung von Google-AdWords&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Google AdWords integriert. Google AdWords ist ein Dienst zur Internetwerbung, der es Werbetreibenden gestattet, sowohl Anzeigen in den Suchmaschinenergebnissen von Google als auch im Google-Werbenetzwerk zu schalten. Google AdWords ermöglicht es einem Werbetreibenden, vorab bestimmte Schlüsselwörter festzulegen, mittels derer eine Anzeige in den Suchmaschinenergebnissen von Google ausschließlich dann angezeigt wird, wenn der Nutzer mit der Suchmaschine ein schlüsselwortrelevantes Suchergebnis abruft. Im Google-Werbenetzwerk werden die Anzeigen mittels eines automatischen Algorithmus und unter Beachtung der zuvor festgelegten Schlüsselwörter auf themenrelevanten Internetseiten verteilt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft der Dienste von Google AdWords ist die Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der Zweck von Google AdWords ist die Bewerbung unserer Internetseite durch die Einblendung von interessenrelevanter Werbung auf den Internetseiten von Drittunternehmen und in den Suchmaschinenergebnissen der Suchmaschine Google und eine Einblendung von Fremdwerbung auf unserer Internetseite.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Gelangt eine betroffene Person über eine Google-Anzeige auf unsere Internetseite, wird auf dem informationstechnologischen System der betroffenen Person durch Google ein sogenannter Conversion-Cookie abgelegt. Was Cookies sind, wurde oben bereits erläutert. Ein Conversion-Cookie verliert nach dreißig Tagen seine Gültigkeit und dient nicht zur Identifikation der betroffenen Person. Über den Conversion-Cookie wird, sofern das Cookie noch nicht abgelaufen ist, nachvollzogen, ob bestimmte Unterseiten, beispielsweise der Warenkorb von einem Online-Shop-System, auf unserer Internetseite aufgerufen wurden. Durch den Conversion-Cookie können sowohl wir als auch Google nachvollziehen, ob eine betroffene Person, die über eine AdWords-Anzeige auf unsere Internetseite gelangt ist, einen Umsatz generierte, also einen Warenkauf vollzogen oder abgebrochen hat.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die durch die Nutzung des Conversion-Cookies erhobenen Daten und Informationen werden von Google verwendet, um Besuchsstatistiken für unsere Internetseite zu erstellen. Diese Besuchsstatistiken werden durch uns wiederum genutzt, um die Gesamtanzahl der Nutzer zu ermitteln, welche über AdWords-Anzeigen an uns vermittelt wurden, also um den Erfolg oder Misserfolg der jeweiligen AdWords-Anzeige zu ermitteln und um unsere AdWords-Anzeigen für die Zukunft zu optimieren. Weder unser Unternehmen noch andere Werbekunden von Google-AdWords erhalten Informationen von Google, mittels derer die betroffene Person identifiziert werden könnte.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels des Conversion-Cookies werden personenbezogene Informationen, beispielsweise die durch die betroffene Person besuchten Internetseiten, gespeichert. Bei jedem Besuch unserer Internetseiten werden demnach personenbezogene Daten, einschließlich der IP-Adresse des von der betroffenen Person genutzten Internetanschlusses, an Google in den Vereinigten Staaten von Amerika übertragen. Diese personenbezogenen Daten werden durch Google in den Vereinigten Staaten von Amerika gespeichert. Google gibt diese über das technische Verfahren erhobenen personenbezogenen Daten unter Umständen an Dritte weiter.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Google einen Conversion-Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem kann ein von Google AdWords bereits gesetzter Cookie jederzeit über den Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, der interessenbezogenen Werbung durch Google zu widersprechen. Hierzu muss die betroffene Person von jedem der von ihr genutzten Internetbrowser aus den Link www.google.de/settings/ads aufrufen und dort die gewünschten Einstellungen vornehmen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Google können unter https://www.google.de/intl/de/policies/privacy/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;30. Datenschutzbestimmungen zu Einsatz und Verwendung von Instagram&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten des Dienstes Instagram integriert. Instagram ist ein Dienst, der als audiovisuelle Plattform zu qualifizieren ist und den Nutzern das Teilen von Fotos und Videos und zudem eine Weiterverbreitung solcher Daten in anderen sozialen Netzwerken ermöglicht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft der Dienste von Instagram ist die Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2 Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Instagram-Komponente (Insta-Button) integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Instagram-Komponente veranlasst, eine Darstellung der entsprechenden Komponente von Instagram herunterzuladen. Im Rahmen dieses technischen Verfahrens erhält Instagram Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei Instagram eingeloggt ist, erkennt Instagram mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite die betroffene Person besucht. Diese Informationen werden durch die Instagram-Komponente gesammelt und durch Instagram dem jeweiligen Instagram-Account der betroffenen Person zugeordnet. Betätigt die betroffene Person einen der auf unserer Internetseite integrierten Instagram-Buttons, werden die damit übertragenen Daten und Informationen dem persönlichen Instagram-Benutzerkonto der betroffenen Person zugeordnet und von Instagram gespeichert und verarbeitet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Instagram erhält über die Instagram-Komponente immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufs unserer Internetseite gleichzeitig bei Instagram eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person die Instagram-Komponente anklickt oder nicht. Ist eine derartige Übermittlung dieser Informationen an Instagram von der betroffenen Person nicht gewollt, kann diese die Übermittlung dadurch verhindern, dass sie sich vor einem Aufruf unserer Internetseite aus ihrem Instagram-Account ausloggt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Instagram können unter https://help.instagram.com/155833707900388 und https://www.instagram.com/about/legal/privacy/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;31. Datenschutzbestimmungen zu Einsatz und Verwendung von Jetpack für WordPress&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Jetpack integriert. Jetpack ist ein WordPress-Plug-In, welches dem Betreiber einer Internetseite, die auf WordPress aufbaut, zusätzliche Funktionen bietet. Jetpack gestattet dem Internetseitenbetreiber unter anderem eine Übersicht über die Besucher der Seite. Durch die Anzeige von verwandten Beiträgen und Publikationen oder die Möglichkeit, Inhalte auf der Seite zu teilen, ist ferner die Steigerung der Besucherzahlen möglich. Außerdem sind Sicherheitsfunktionen in Jetpack integriert, sodass eine Jetpack nutzende Internetseite besser gegen Brute-Force-Attacken geschützt ist. Jetpack optimiert und beschleunigt ferner das Laden der auf der Internetseite integrierten Bilder.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft des Jetpack-Plug-Ins für WordPress ist die Aut O’Mattic A8C Ireland Ltd., Business Centre, No.1 Lower Mayor Street, International Financial Services Centre, Dublin 1, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Jetpack setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Jetpack-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Jetpack-Komponente veranlasst, Daten zur Analysezwecken an Automattic zu übermitteln. Im Rahmen dieses technischen Verfahrens erhält Automattic Kenntnis über Daten, die in der Folge zur Erstellung einer Übersicht der Internetseiten-Besuche verwendet werden. Die so gewonnenen Daten dienen der Analyse des Verhaltens der betroffenen Person, welche auf die Internetseite des für die Verarbeitung Verantwortlichen zugegriffen hat und werden mit dem Ziel, die Internetseite zu optimieren, ausgewertet. Die über die Jetpack-Komponente erhobenen Daten werden nicht ohne eine vorherige Einholung einer gesonderten ausdrücklichen Einwilligung der betroffenen Person dazu genutzt, die betroffene Person zu identifizieren. Die Daten gelangen ferner Quantcast zur Kenntnis. Quantcast nutzt die Daten zu den gleichen Zwecken wie Automattic.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Automattic/Quantcast ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von Automattic bereits gesetzte Cookies jederzeit über den Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch das Jetpack-Cookie erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch Automattic/Quantcast zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person den Opt-Out-Button unter dem Link https://www.quantcast.com/opt-out/ drücken, der einen Opt-Out-Cookie setzt. Der mit dem Widerspruch gesetzte Opt-Out-Cookie wird auf dem von der betroffenen Person genutzten informationstechnologischen System abgelegt. Werden die Cookies auf dem System der betroffenen Person nach einem Widerspruch gelöscht, muss die betroffene Person den Link erneut aufrufen und einen neuen Opt-Out-Cookie setzen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mit der Setzung des Opt-Out-Cookies besteht jedoch die Möglichkeit, dass die Internetseiten des für die Verarbeitung Verantwortlichen für die betroffene Person nicht mehr vollumfänglich nutzbar sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von Automattic sind unter https://automattic.com/privacy/ abrufbar. Die geltenden Datenschutzbestimmungen von Quantcast sind unter https://www.quantcast.com/privacy/ abrufbar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;32. Datenschutzbestimmungen zu Einsatz und Verwendung von LinkedIn&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten der LinkedIn Corporation integriert. LinkedIn ist ein Internetbasiertes soziales Netzwerk, das eine Konnektierung der Nutzer mit bestehenden Geschäftskontakten sowie das Knüpfen von neuen Businesskontakten ermöglicht. Über 400 Millionen registrierte Personen nutzen LinkedIn in mehr als 200 Ländern. Damit ist LinkedIn derzeit die größte Plattform für Businesskontakte und eine der meistbesuchten Internetseiten der Welt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von LinkedIn ist die LinkedIn Corporation, 2029 Stierlin Court Mountain View, CA 94043, USA. Für Datenschutzangelegenheiten außerhalb der USA ist LinkedIn Ireland, Privacy Policy Issues, Wilton Plaza, Wilton Place, Dublin 2, Ireland, zuständig.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Bei jedem einzelnen Abruf unserer Internetseite, die mit einer LinkedIn-Komponente (LinkedIn-Plug-In) ausgestattet ist, veranlasst diese Komponente, dass der von der betroffenen Person verwendete Browser eine entsprechende Darstellung der Komponente von LinkedIn herunterlädt. Weitere Informationen zu den LinkedIn-Plug-Ins können unter https://developer.linkedin.com/plugins abgerufen werden. Im Rahmen dieses technischen Verfahrens erhält LinkedIn Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei LinkedIn eingeloggt ist, erkennt LinkedIn mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite unserer Internetseite die betroffene Person besucht. Diese Informationen werden durch die LinkedIn-Komponente gesammelt und durch LinkedIn dem jeweiligen LinkedIn-Account der betroffenen Person zugeordnet. Betätigt die betroffene Person einen auf unserer Internetseite integrierten LinkedIn-Button, ordnet LinkedIn diese Information dem persönlichen LinkedIn-Benutzerkonto der betroffenen Person zu und speichert diese personenbezogenen Daten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;LinkedIn erhält über die LinkedIn-Komponente immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufes unserer Internetseite gleichzeitig bei LinkedIn eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person die LinkedIn-Komponente anklickt oder nicht. Ist eine derartige Übermittlung dieser Informationen an LinkedIn von der betroffenen Person nicht gewollt, kann diese die Übermittlung dadurch verhindern, dass sie sich vor einem Aufruf unserer Internetseite aus ihrem LinkedIn-Account ausloggt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;LinkedIn bietet unter https://www.linkedin.com/psettings/guest-controls die Möglichkeit, E-Mail-Nachrichten, SMS-Nachrichten und zielgerichtete Anzeigen abzubestellen sowie Anzeigen-Einstellungen zu verwalten. LinkedIn nutzt ferner Partner wie Quantcast, Google Analytics, BlueKai, DoubleClick, Nielsen, Comscore, Eloqua und Lotame, die Cookies setzen können. Solche Cookies können unter https://www.linkedin.com/legal/cookie-policy abgelehnt werden. Die geltenden Datenschutzbestimmungen von LinkedIn sind unter https://www.linkedin.com/legal/privacy-policy abrufbar. Die Cookie-Richtlinie von LinkedIn ist unter https://www.linkedin.com/legal/cookie-policy abrufbar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;33. Datenschutzbestimmungen zu Einsatz und Verwendung von LiveZilla&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite die Komponente LiveZilla integriert. LiveZilla ist eine Live-Support-Helpdesk-Software, die den Aufbau einer direkten Kommunikation in Echtzeit (sogenannter Live-Chat) mit Besuchern der eigenen Internetseite ermöglicht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Entwickler der Komponente LiveZilla ist die LiveZilla GmbH, Byk-Gulden-Straße 18, 78224 Singen, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Bei jedem einzelnen Abruf unserer Internetseite, die mit einer LiveZilla-Komponente ausgestattet ist, werden durch diese Komponente Daten mit dem Zweck gesammelt, das Live-Chat-System zu betreiben und den Betrieb des Systems zu analysieren. Weitere Informationen zu LiveZilla können unter http://www.livezilla.net/home/de/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die LiveZilla-Komponente setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Über den LiveZilla-Cookie können pseudonymisierte Nutzungsprofile erstellt werden. Solche pseudonymisierten Nutzungsprofile können von dem für die Verarbeitung Verantwortlichen eingesetzt werden, um eine Analyse des Besucherverhaltens durchzuführen sowie auch den ordnungsgemäßen Betrieb des Live-Chat-Systems zu analysieren und aufrechtzuerhalten. Die Analyse dient auch der Verbesserung unseres Angebots. Die über die LiveZilla-Komponente erhobenen Daten werden nicht ohne vorherige Einholung einer gesonderten ausdrücklichen Einwilligung der betroffenen Person dazu genutzt, die betroffene Person zu identifizieren. Diese Daten werden nicht mit personenbezogenen Daten oder mit anderen Daten, die das gleiche Pseudonym enthalten, zusammengeführt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass die LiveZilla-Komponente ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem kann ein von der LiveZilla-Komponente bereits gesetzter Cookie jederzeit über den Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen der LiveZilla GmbH können unter https://www.livezilla.net/disclaimer/de/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;34. Datenschutzbestimmungen zu Einsatz und Verwendung von Myspace&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten der Myspace LLC integriert. Myspace ist ein sogenanntes soziales Netzwerk. Ein soziales Netzwerk ist ein im Internet betriebener sozialer Treffpunkt, eine Online-Gemeinschaft, die es den Nutzern in der Regel ermöglicht, untereinander zu kommunizieren und im virtuellen Raum zu interagieren. Ein soziales Netzwerk kann als Plattform zum Austausch von Meinungen und Erfahrungen dienen oder ermöglicht es der Internetgemeinschaft, persönliche oder unternehmensbezogene Informationen bereitzustellen. Myspace ermöglicht den Nutzern des sozialen Netzwerkes unter anderem, kostenlos Benutzerprofile, die Fotos und Videos enthalten, Blogs oder Gruppen einzurichten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Myspace ist die Myspace LLC, 6100 Center Drive, Suite 800, 90045 Los Angeles, USA.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Myspace-Komponente (Myspace-Plug-In) integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Myspace-Komponente veranlasst, eine Darstellung der entsprechenden Myspace-Komponente von Myspace herunterzuladen. Mehr Informationen zu Myspace sind unter https://myspace.com abrufbar. Im Rahmen dieses technischen Verfahrens erhält Myspace Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei Myspace eingeloggt ist, erkennt Myspace mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite unserer Internetseite die betroffene Person besucht. Diese Informationen werden durch die Myspace-Komponente gesammelt und durch Myspace dem jeweiligen Myspace-Account der betroffenen Person zugeordnet. Betätigt die betroffene Person einen auf unserer Internetseite integrierten Myspace-Button, ordnet Myspace diese Information dem persönlichen Myspace-Benutzerkonto der betroffenen Person zu und speichert diese personenbezogenen Daten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Myspace erhält über die Myspace-Komponente immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufs unserer Internetseite gleichzeitig bei Myspace eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person die Myspace-Komponente anklickt oder nicht. Ist eine derartige Übermittlung dieser Informationen an Myspace von der betroffenen Person nicht gewollt, kann diese die Übermittlung dadurch verhindern, dass sie sich vor dem Aufruf unserer Internetseite aus ihrem Myspace-Account ausloggt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die von Myspace veröffentlichte Datenschutzrichtlinie, die unter https://myspace.com/pages/privacy abrufbar ist, gibt Aufschluss über die Erhebung, Verarbeitung und Nutzung personenbezogener Daten durch Myspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;35. Datenschutzbestimmungen zu Einsatz und Verwendung von Pinterest&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten der Pinterest Inc. integriert. Pinterest ist ein sogenanntes soziales Netzwerk. Ein soziales Netzwerk ist ein im Internet betriebener sozialer Treffpunkt, eine Online-Gemeinschaft, die es den Nutzern in der Regel ermöglicht, untereinander zu kommunizieren und im virtuellen Raum zu interagieren. Ein soziales Netzwerk kann als Plattform zum Austausch von Meinungen und Erfahrungen dienen oder ermöglicht es der Internetgemeinschaft, persönliche oder unternehmensbezogene Informationen bereitzustellen. Pinterest ermöglicht den Nutzern des sozialen Netzwerkes unter anderem, Bilderkollektionen und Einzelbilder sowie Beschreibungen an virtuellen Pinnwänden zu veröffentlichen (sogenanntes pinnen), welche dann wiederum von anderen Nutzern geteilt (sogenanntes repinnen) oder kommentiert werden können.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Pinterest ist die Pinterest Europe Ltd., Palmerston House, 2nd Floor, Fenian Street, Dublin 2,Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Pinterest-Komponente (Pinterest-Plug-In) integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Pinterest-Komponente veranlasst, eine Darstellung der entsprechenden Pinterest-Komponente von Pinterest herunterzuladen. Mehr Informationen zu Pinterest sind unter https://pinterest.com/ abrufbar. Im Rahmen dieses technischen Verfahrens erhält Pinterest Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei Pinterest eingeloggt ist, erkennt Pinterest mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite unserer Internetseite die betroffene Person besucht. Diese Informationen werden durch die Pinterest-Komponente gesammelt und durch Pinterest dem jeweiligen Pinterest-Account der betroffenen Person zugeordnet. Betätigt die betroffene Person einen auf unserer Internetseite integrierten Pinterest-Button, ordnet Pinterest diese Information dem persönlichen Pinterest-Benutzerkonto der betroffenen Person zu und speichert diese personenbezogenen Daten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Pinterest erhält über die Pinterest-Komponente immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufs unserer Internetseite gleichzeitig bei Pinterest eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person die Pinterest-Komponente anklickt oder nicht. Ist eine derartige Übermittlung dieser Informationen an Pinterest von der betroffenen Person nicht gewollt, kann diese die Übermittlung dadurch verhindern, dass sie sich vor einem Aufruf unserer Internetseite aus ihrem Pinterest-Account ausloggt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die von Pinterest veröffentlichte Datenschutzrichtlinie, die unter https://about.pinterest.com/privacy-policy abrufbar ist, gibt Aufschluss über die Erhebung, Verarbeitung und Nutzung personenbezogener Daten durch Pinterest.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;36. Datenschutzbestimmungen zu Einsatz und Verwendung von Matomo&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite die Komponente Matomo integriert. Matomo ist ein Open-Source-Softwaretool zur Web-Analyse. Web-Analyse ist die Erhebung, Sammlung und Auswertung von Daten über das Verhalten von Besuchern von Internetseiten. Ein Web-Analyse-Tool erfasst unter anderem Daten darüber, von welcher Internetseite eine betroffene Person auf eine Internetseite gekommen ist (sogenannter Referrer), auf welche Unterseiten der Internetseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde. Eine Web-Analyse wird überwiegend zur Optimierung einer Internetseite und zur Kosten-Nutzen-Analyse von Internetwerbung eingesetzt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die Software wird auf dem Server des für die Verarbeitung Verantwortlichen betrieben, die datenschutzrechtlich sensiblen Logdateien werden ausschließlich auf diesem Server gespeichert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der Zweck der Matomo-Komponente ist die Analyse der Besucherströme auf unserer Internetseite. Der für die Verarbeitung Verantwortliche nutzt die gewonnenen Daten und Informationen unter anderem dazu, die Nutzung dieser Internetseite auszuwerten, um Online-Reports, welche die Aktivitäten auf unseren Internetseiten aufzeigen, zusammenzustellen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Matomo setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Mit der Setzung des Cookies wird uns eine Analyse der Benutzung unserer Internetseite ermöglicht. Durch jeden Aufruf einer der Einzelseiten dieser Internetseite wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die Matomo-Komponente veranlasst, Daten zum Zwecke der Online-Analyse an unseren Server zu übermitteln. Im Rahmen dieses technischen Verfahrens erhalten wir Kenntnis über personenbezogene Daten, wie der IP-Adresse der betroffenen Person, die uns unter anderem dazu dient, die Herkunft der Besucher und Klicks nachzuvollziehen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels des Cookies werden personenbezogene Informationen, beispielsweise die Zugriffszeit, der Ort, von welchem ein Zugriff ausging und die Häufigkeit der Besuche auf unserer Internetseite gespeichert. Bei jedem Besuch unserer Internetseiten werden diese personenbezogenen Daten, einschließlich der IP-Adresse des von der betroffenen Person genutzten Internetanschlusses, an unseren Server übertragen. Diese personenbezogenen Daten werden durch uns gespeichert. Wir geben diese personenbezogenen Daten nicht an Dritte weiter.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Matomo ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem kann ein von Matomo bereits gesetzter Cookie jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch den Matomo erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person in Ihrem Browser &amp;quot;Do Not Track&amp;quot; einstellen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mit der Setzung des Opt-Out-Cookies besteht jedoch die Möglichkeit, dass die Internetseiten des für die Verarbeitung Verantwortlichen für die betroffene Person nicht mehr vollumfänglich nutzbar sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Matomo können unter https://matomo.org/privacy/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;37. Datenschutzbestimmungen zu Einsatz und Verwendung von Shariff&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite die Komponente Shariff integriert. Die Shariff-Komponente stellt Social-Media-Buttons zur Verfügung, die datenschutzkonform sind. Shariff wurde für die deutsche Computerzeitschrift c&amp;#039;t entwickelt und wird über die GitHub, Inc. publiziert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Entwickler der Komponente ist GitHub, Inc. 88 Colin P. Kelly Junior Street, San Francisco, CA 94107, USA.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Üblicherweise übertragen die von den sozialen Netzwerken bereitgestellten Button-Lösungen bereits dann personenbezogene Daten an das jeweilige soziale Netzwerk, wenn ein Nutzer eine Internetseite besucht, in welche ein Social-Media-Button integriert wurde. Durch die Nutzung der Shariff-Komponente werden erst dann personenbezogene Daten an soziale Netzwerke übermittelt, wenn der Besucher einer Internetseite aktiv einen der Social-Media-Buttons betätigt. Weitere Informationen zur Shariff-Komponente werden von der Computerzeitschrift c&amp;#039;t unter http://www.heise.de/newsticker/meldung/Datenschutz-und-Social-Media-Der-c-t-Shariff-ist-im-Einsatz-2470103.html bereitgehalten. Der Einsatz der Shariff-Komponente hat den Zweck, die personenbezogenen Daten der Besucher unserer Internetseite zu schützen und uns gleichzeitig zu ermöglichen, eine Button-Lösung für soziale Netzwerke auf dieser Internetseite zu integrieren.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von GitHub können unter https://help.github.com/articles/github-privacy-policy/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;38. Datenschutzbestimmungen zu Einsatz und Verwendung von SlideShare&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite SlideShare-Komponenten integriert. LinkedIn SlideShare ermöglicht als Filehosting-Dienst das austauschen und archivieren von Präsentationen und anderen Dokumenten wie PDF-Dateien, Videos und Webinaren. Der Filehosting-Dienst gestattet den Benutzern den Upload von Medieninhalten in allen gängigen Formaten, wobei die Dokumente entweder öffentlich zugänglich gemacht oder durch eine Privatmarkierung versehen werden können.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von SlideShare ist die LinkedIn Ireland Unlimited Company, Wilton Plaza, Wilton Place, Dublin 2, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;LinkedIn SlideShare stellt sogenannte Embed-Codes für die dort abgelegten Medieninhalte (Präsentationen, PDF-Dateien, Videos, Fotos, etc.) zur Verfügung. Embed-Codes sind Programmcodes, die mit dem Ziel in Internetseiten eingebettet werden, externe Inhalte auf der eigenen Internetseite anzuzeigen. Embed-Codes ermöglichen es, Inhalte auf einer eigenen Internetseite wiederzugeben, ohne solche auf dem eigenen Server abzulegen und hierbei möglicherweise das Vervielfältigungsrecht des jeweiligen Urhebers des Inhalts zu verletzen. Weiterer Vorteil der Verwendung eines Embed-Codes ist, dass der jeweilige Betreiber einer Internetseite keinen eigenen Speicherplatz nutzt und der eigene Server hierdurch entlastet wird. Ein Embed-Code kann an jeder Stelle einer anderen Internetseite eingebunden werden, sodass ein externer Inhalt auch innerhalb des eigenen Textes eingefügt werden kann. Zweck der Nutzung von LinkedIn SlideShare ist die Entlastung unseres Servers sowie eine Vermeidung von Urheberrechtsverstößen bei gleichzeitiger Nutzung fremder Inhalte.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Bei jedem Abruf unserer Internetseite, die mit einer SlideShare-Komponente (Embed-Codes) ausgestattet ist, veranlasst diese Komponente, dass der von ihnen verwendete Browser entsprechend eingebettete Daten von SlideShare herunterlädt. Im Rahmen dieses technischen Verfahrens erhält LinkedIn Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei SlideShare eingeloggt ist, erkennt SlideShare mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite die betroffene Person besucht. Diese Informationen werden durch SlideShare gesammelt und durch LinkedIn dem jeweiligen SlideShare-Account der betroffenen Person zugeordnet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;LinkedIn erhält über die SlideShare-Komponente immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufs unserer Internetseite gleichzeitig bei SlideShare eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person die eingebundenen Mediendaten anklickt oder nicht. Ist eine derartige Übermittlung dieser Informationen an LinkedIn von der betroffenen Person nicht gewollt, kann diese die Übermittlung dadurch verhindern, dass sie sich vor einem Aufruf unserer Internetseite aus ihrem SlideShare-Account ausloggt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;LinkedIn nutzt ferner Partner wie Quantcast, Google Analytics, BlueKai, DoubleClick, Nielsen, Comscore, Eloqua und Lotame, die Cookies setzen können. Solche Cookies können unter https://www.linkedin.com/legal/cookie-policy abgelehnt werden. Die geltenden Datenschutzbestimmungen von LinkedIn sind unter https://www.linkedin.com/legal/privacy-policy abrufbar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;39. Datenschutzbestimmungen zu Einsatz und Verwendung von Tumblr&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von Tumblr integriert. Tumblr ist eine Plattform, die es den Nutzern ermöglicht, einen Blog zu erstellen und zu betreiben. Ein Blog ist ein auf einer Internetseite geführtes, in der Regel öffentlich einsehbares Portal, in welchem eine oder mehrere Personen, die Blogger oder Weblogger genannt werden, Artikel posten oder Gedanken in sogenannten Blogposts niederschreiben können. In einem Blog auf Tumblr kann der Nutzer beispielsweise Texte, Bilder, Links und Videos veröffentlichen und diese im digitalen Raum verbreiten. Ferner können Tumblr-Nutzer Inhalte von fremden Internetseiten in den eigenen Blog übernehmen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Tumblr ist die Oath (EMEA) Limited, 5-7 Point Square, North Wall Quay, Dublin 1, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Tumblr-Komponente (Tumblr-Button) integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Tumblr-Komponente veranlasst, eine Darstellung der entsprechenden Tumblr-Komponente von Tumblr herunterzuladen. Weitere Informationen zu den Tumblr-Buttons sind unter https://www.tumblr.com/buttons abrufbar. Im Rahmen dieses technischen Verfahrens erhält Tumblr Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird. Zweck der Integration der Tumblr-Komponente ist es, unseren Nutzern eine Weiterverbreitung der Inhalte dieser Internetseite zu ermöglichen, diese Internetseite in der digitalen Welt bekannt zu machen und unsere Besucherzahlen zu erhöhen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei Tumblr eingeloggt ist, erkennt Tumblr mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite unserer Internetseite die betroffene Person besucht. Diese Informationen werden durch die Tumblr-Komponente gesammelt und durch Tumblr dem jeweiligen Tumblr-Account der betroffenen Person zugeordnet. Betätigt die betroffene Person einen der auf unserer Internetseite integrierten Tumblr-Buttons, werden die damit übertragenen Daten und Informationen dem persönlichen Tumblr-Benutzerkonto der betroffenen Person zugeordnet und von Tumblr gespeichert und verarbeitet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Tumblr erhält über die Tumblr-Komponente immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufs unserer Internetseite gleichzeitig bei Tumblr eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person die Tumblr-Komponente anklickt oder nicht. Ist eine derartige Übermittlung dieser Informationen an Tumblr von der betroffenen Person nicht gewollt, kann diese die Übermittlung dadurch verhindern, dass sie sich vor einem Aufruf unserer Internetseite aus ihrem Tumblr-Account ausloggt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von Tumblr sind unter https://www.tumblr.com/policy/en/privacy abrufbar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;40. Datenschutzbestimmungen zu Einsatz und Verwendung von Twitter&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von Twitter integriert. Twitter ist ein multilingualer öffentlich zugänglicher Mikroblogging-Dienst, auf welchem die Nutzer sogenannte Tweets, also Kurznachrichten, die auf 280 Zeichen begrenzt sind, veröffentlichen und verbreiten können. Diese Kurznachrichten sind für jedermann, also auch für nicht bei Twitter angemeldete Personen abrufbar. Die Tweets werden aber auch den sogenannten Followern des jeweiligen Nutzers angezeigt. Follower sind andere Twitter-Nutzer, die den Tweets eines Nutzers folgen. Ferner ermöglicht Twitter über Hashtags, Verlinkungen oder Retweets die Ansprache eines breiten Publikums.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Twitter International Company, One Cumberland Place, Fenian Street Dublin 2, D02 AX07, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Twitter-Komponente (Twitter-Button) integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Twitter-Komponente veranlasst, eine Darstellung der entsprechenden Twitter-Komponente von Twitter herunterzuladen. Weitere Informationen zu den Twitter-Buttons sind unter https://about.twitter.com/de/resources/buttons abrufbar. Im Rahmen dieses technischen Verfahrens erhält Twitter Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird. Zweck der Integration der Twitter-Komponente ist es, unseren Nutzern eine Weiterverbreitung der Inhalte diese Internetseite zu ermöglichen, diese Internetseite in der digitalen Welt bekannt zu machen und unsere Besucherzahlen zu erhöhen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei Twitter eingeloggt ist, erkennt Twitter mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite unserer Internetseite die betroffene Person besucht. Diese Informationen werden durch die Twitter-Komponente gesammelt und durch Twitter dem jeweiligen Twitter-Account der betroffenen Person zugeordnet. Betätigt die betroffene Person einen der auf unserer Internetseite integrierten Twitter-Buttons, werden die damit übertragenen Daten und Informationen dem persönlichen Twitter-Benutzerkonto der betroffenen Person zugeordnet und von Twitter gespeichert und verarbeitet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Twitter erhält über die Twitter-Komponente immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufs unserer Internetseite gleichzeitig bei Twitter eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person die Twitter-Komponente anklickt oder nicht. Ist eine derartige Übermittlung dieser Informationen an Twitter von der betroffenen Person nicht gewollt, kann diese die Übermittlung dadurch verhindern, dass sie sich vor einem Aufruf unserer Internetseite aus ihrem Twitter-Account ausloggt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von Twitter sind unter https://twitter.com/privacy?lang=de abrufbar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;41. Datenschutzbestimmungen zu Einsatz und Verwendung von Webtrekk&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von Webtrekk integriert. Webtrekk ist eine Kombination aus Analyse- und Marketinglösung in einem System. Webtrekk ermöglicht dem Seitenbetreiber die Sammlung von Daten über die Nutzung der Internetseite sowie eine Individualisierung der Marketingaktivitäten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Webtrekk ist die Webtrekk GmbH, Robert-Koch-Platz 4, 10115 Berlin, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird, sammelt Webtrekk Daten zu Marketing- und Optimierungszwecken und speichert diese. Mittels der gewonnenen Daten werden pseudonymisierte Nutzerprofile erstellt. Die pseudonymisierten Nutzerprofile werden zum Zwecke der Analyse des Besucherverhaltens genutzt und ermöglichen eine Verbesserung unseres Internetangebots. Die über die Webtrekk-Komponente erhobenen Daten werden nicht ohne vorherige Einholung einer gesonderten und ausdrücklichen Einwilligung der betroffenen Person dazu genutzt, die betroffene Person zu identifizieren. Diese Daten werden nicht mit personenbezogenen Daten oder mit anderen Daten, die das gleiche Pseudonym enthalten, zusammengeführt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Webtrekk setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Webtrekk wird im Auftrag des für die Verarbeitung Verantwortlichen die über unsere Internetseite gewonnenen Daten und Informationen dazu nutzen, das Nutzerverhalten von der betroffenen Person, die unsere Internetseite besucht hat, auszuwerten. Ferner wird Webtrekk die Daten nutzen, um in unserem Auftrag Reports über die Nutzeraktivitäten zu erstellen sowie weitere Dienstleistungen für unser Unternehmen zu erbringen, die im Zusammenhang mit der Nutzung unserer Internetseite stehen. Die IP-Adresse der betroffenen Person wird durch Webtrekk nicht mit anderen personenbezogenen Daten zusammengeführt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Webtrekk ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von Webtrekk bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch das Webtrekk-Cookie erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch Webtrekk zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person einen Link auf https://www.webtrekk.com/de/legal/opt-out-webtrekk/ anklicken, welcher einen Opt-Out-Cookie setzt. Der mit dem Widerspruch gesetzte Opt-Out-Cookie wird auf dem von der betroffenen Person genutzten informationstechnologischen System abgelegt. Werden die Cookies auf dem System der betroffenen Person nach einem Widerspruch gelöscht, muss die betroffene Person den Link erneut aufrufen und einen neuen Opt-Out-Cookie setzen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mit der Setzung des Opt-Out-Cookies besteht jedoch die Möglichkeit, dass die Internetseiten des für die Verarbeitung Verantwortlichen für die betroffene Person nicht mehr vollumfänglich nutzbar sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von Webtrekk können unter https://www.webtrekk.com/de/warum-webtrekk/datenschutz/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;42. Datenschutzbestimmungen zu Einsatz und Verwendung von WiredMinds&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von WiredMinds integriert. Durch die WiredMinds-Komponenten werden Unternehmen, die eine Internetseite besuchen, automatisch erkannt und qualifiziert. Die WiredMinds-Komponente ermöglicht dem Betreiber einer Internetseite, der die Komponente einsetzt, die Generierung von Leads, also eine Qualifizierung potenzieller Neukunden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von WiredMinds ist die WiredMinds GmbH, Lindenspürstraße 32, 70176 Stuttgart, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wir setzen einen WiredMinds Zählpixel ein. Ein Zählpixel ist eine Miniaturgrafik, die in eine Internetseite eingebettet wird, um eine Logdatei-Aufzeichnung und eine Logdatei-Analyse zu ermöglichen, um in der Folge eine statistische Auswertung durchzuführen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;WiredMinds setzt zudem ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Mit der Setzung des Cookies wird uns eine Analyse der Benutzung unserer Internetseite ermöglicht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels der gewonnenen Daten werden pseudonymisierte Nutzungsprofile erstellt. Die pseudonymisierten Nutzungsprofile werden zum Zwecke der Analyse des Besucherverhaltens genutzt und ermöglichen eine Verbesserung unseres Internetangebots. Die über die WiredMinds-Komponente erhobenen Daten werden nicht ohne vorherige Einholung einer gesonderten und ausdrücklichen Einwilligung der betroffenen Person dazu genutzt, die betroffene Person zu identifizieren. Diese Daten werden nicht mit personenbezogenen Daten oder mit anderen Daten, die das gleiche Pseudonym enthalten, zusammengeführt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die WiredMinds-Komponente veranlasst, Daten zum Zwecke der Online-Analyse zu übermitteln. Im Rahmen dieses technischen Verfahrens erhält WiredMinds Kenntnis über personenbezogene Daten, wie die IP-Adresse, die unter anderem dazu dient, die Herkunft der Besucher und Klicks nachzuvollziehen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels des Cookies werden personenbezogene Informationen, beispielsweise die Zugriffszeit, der Ort, von welchem ein Zugriff ausging und die Häufigkeit der Besuche auf unserer Internetseite, gespeichert. Bei jedem Besuch unserer Internetseiten werden diese personenbezogenen Daten, einschließlich der IP-Adresse des von der betroffenen Person genutzten Internetanschlusses, an den Server der WiredMinds übertragen. Diese personenbezogenen Daten werden durch WiredMinds gespeichert, aber nicht an Dritte weitergegeben.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass WiredMinds ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem kann ein von WiredMinds bereits gesetzter Cookie jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch den WiredMinds erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person den Dont-Track-My-Visits-Button unter dem Link https://wm.wiredminds.de/track/cookie_mgr.php?mode=dont_track_ask&amp;amp;websitesel anklicken. Wird das informationstechnologische System der betroffenen Person zu einem späteren Zeitpunkt gelöscht, formatiert oder neu installiert, muss die betroffene Person erneut einen Opt-Out-Cookie setzen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von WiredMinds können unter https://www.wiredminds.de/produkt/datenschutz-gutachten/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;43. Datenschutzbestimmungen zu Einsatz und Verwendung von Xing&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von Xing integriert. Xing ist ein Internetbasiertes soziales Netzwerk, das die Konnektierung der Nutzer mit bestehenden Geschäftskontakten sowie das Knüpfen von neuen Businesskontakten ermöglicht. Die einzelnen Nutzer können bei Xing ein persönliches Profil von sich anlegen. Unternehmen können beispielsweise Unternehmensprofile erstellen oder Stellenangebote auf Xing veröffentlichen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Xing ist die XING SE, Dammtorstraße 30, 20354 Hamburg, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Xing-Komponente (Xing-Plug-In) integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Xing-Komponente veranlasst, eine Darstellung der entsprechenden Xing-Komponente von Xing herunterzuladen. Weitere Informationen zum den Xing-Plug-Ins können unter https://dev.xing.com/plugins abgerufen werden. Im Rahmen dieses technischen Verfahrens erhält Xing Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei Xing eingeloggt ist, erkennt Xing mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite unserer Internetseite die betroffene Person besucht. Diese Informationen werden durch die Xing-Komponente gesammelt und durch Xing dem jeweiligen Xing-Account der betroffenen Person zugeordnet. Betätigt die betroffene Person einen der auf unserer Internetseite integrierten Xing-Buttons, beispielsweise den „Share“-Button, ordnet Xing diese Information dem persönlichen Xing-Benutzerkonto der betroffenen Person zu und speichert diese personenbezogenen Daten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Xing erhält über die Xing-Komponente immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufs unserer Internetseite gleichzeitig bei Xing eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person die Xing-Komponente anklickt oder nicht. Ist eine derartige Übermittlung dieser Informationen an Xing von der betroffenen Person nicht gewollt, kann diese die Übermittlung dadurch verhindern, dass sie sich vor einem Aufruf unserer Internetseite aus ihrem Xing-Account ausloggt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die von Xing veröffentlichten Datenschutzbestimmungen, die unter https://www.xing.com/privacy abrufbar sind, geben Aufschluss über die Erhebung, Verarbeitung und Nutzung personenbezogener Daten durch Xing. Ferner hat Xing unter https://www.xing.com/app/share?op=data_protection Datenschutzhinweise für den XING-Share-Button veröffentlicht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;44. Datenschutzbestimmungen zu Einsatz und Verwendung von YouTube&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von YouTube integriert. YouTube ist ein Internet-Videoportal, dass Video-Publishern das kostenlose Einstellen von Videoclips und anderen Nutzern die ebenfalls kostenfreie Betrachtung, Bewertung und Kommentierung dieser ermöglicht. YouTube gestattet die Publikation aller Arten von Videos, weshalb sowohl komplette Film- und Fernsehsendungen, aber auch Musikvideos, Trailer oder von Nutzern selbst angefertigte Videos über das Internetportal abrufbar sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von YouTube ist die Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine YouTube-Komponente (YouTube-Video) integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige YouTube-Komponente veranlasst, eine Darstellung der entsprechenden YouTube-Komponente von YouTube herunterzuladen. Weitere Informationen zu YouTube können unter https://www.youtube.com/yt/about/de/ abgerufen werden. Im Rahmen dieses technischen Verfahrens erhalten YouTube und Google Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei YouTube eingeloggt ist, erkennt YouTube mit dem Aufruf einer Unterseite, die ein YouTube-Video enthält, welche konkrete Unterseite unserer Internetseite die betroffene Person besucht. Diese Informationen werden durch YouTube und Google gesammelt und dem jeweiligen YouTube-Account der betroffenen Person zugeordnet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;YouTube und Google erhalten über die YouTube-Komponente immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufs unserer Internetseite gleichzeitig bei YouTube eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person ein YouTube-Video anklickt oder nicht. Ist eine derartige Übermittlung dieser Informationen an YouTube und Google von der betroffenen Person nicht gewollt, kann diese die Übermittlung dadurch verhindern, dass sie sich vor einem Aufruf unserer Internetseite aus ihrem YouTube-Account ausloggt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die von YouTube veröffentlichten Datenschutzbestimmungen, die unter https://www.google.de/intl/de/policies/privacy/ abrufbar sind, geben Aufschluss über die Erhebung, Verarbeitung und Nutzung personenbezogener Daten durch YouTube und Google.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;45. Datenschutzbestimmungen zu Einsatz und Verwendung des Skalierbaren Zentralen Messverfahrens der INFOnline GmbH&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite ein Zählpixel zur Reichweitenmessung integriert. Ein Zählpixel ist eine Miniaturgrafik, die in Internetseiten eingebettet wird, um eine Logdatei-Aufzeichnung und eine Logdatei-Analyse zu ermöglichen, um in der Folge eine statistische Auswertung durchzuführen. Die integrierten Zählpixel dienen dem Skalierbaren Zentralen Messverfahren (SZM) der INFOnline GmbH.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Das Skalierbare Zentrale Messverfahren wird von der INFOnline GmbH, Forum Bonn Nord, Brühler Str. 9, 53119 Bonn, Germany betrieben.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Das Skalierbare Zentrale Messverfahren dient der Ermittlung statistischer Kennzahlen, also der Reichweitenmessung. Anhand des eingebetteten Zählpixels wird nachvollzogen, ob, wann und von wie vielen Nutzern (darunter ist die betroffene Person) unsere Internetseite geöffnet wurde und welche Inhalte abgerufen wurden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die mittels des Skalierbaren Zentralen Messverfahrens erlangten Daten werden anonym erhoben. Zur Erfassung der Zugriffszahlen wird zum Zwecke der Wiedererkennung der Nutzer einer Internetseite entweder ein sogenannter Session-Cookie gesetzt, also eine Signatur erstellt, welche sich aus verschiedenen automatisch übertragenen Informationen zusammensetzt oder alternative Methoden verwendet. Die IP-Adresse des von der betroffenen Person genutzten Internetanschlusses wird nur in anonymisierter Form erhoben und verarbeitet. Die betroffene Person wird zu keinem Zeitpunkt identifiziert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass INFOnline ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von INFOnline bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch den INFOnline erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch INFOnline zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person den Opt-Out-Button unter dem Link http://optout.ioam.de drücken, der einen Opt-Out-Cookie setzt. Der mit dem Widerspruch gesetzte Opt-Out-Cookie wird auf dem von der betroffenen Person genutzten informationstechnologischen System abgelegt. Werden die Cookies auf dem System der betroffenen Person nach einem Widerspruch gelöscht, muss die betroffene Person den Link erneut aufrufen und einen neuen Opt-Out-Cookie setzen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mit der Setzung des Opt-Out-Cookies geht die Möglichkeit einher, dass die Internetseiten des für die Verarbeitung Verantwortlichen nicht mehr vollumfänglich nutzbar sind. Die geltenden Datenschutzbestimmungen von INFOnline können unter https://www.infonline.de/datenschutz/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;46. Datenschutzbestimmungen zu Einsatz und Verwendung von DoubleClick&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von DoubleClick by Google integriert. DoubleClick ist eine Marke von Google, unter welcher vorwiegend spezielle Online-Marketing-Lösungen an Werbeagenturen und Verlage vermarktet werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;DoubleClick by Google überträgt sowohl mit jeder Impression als auch mit Klicks oder anderen Aktivitäten Daten auf den DoubleClick-Server. Jede dieser Datenübertragungen löst eine Cookie-Anfrage an den Browser der betroffenen Person aus. Akzeptiert der Browser diese Anfrage, setzt DoubleClick ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Zweck des Cookies ist die Optimierung und Einblendung von Werbung. Das Cookie wird unter anderem dazu verwendet, nutzerrelevante Werbung zu schalten und anzuzeigen sowie um Berichte zu Werbekampagnen zu erstellen oder diese zu verbessern. Ferner dient das Cookie dazu, Mehrfacheinblendungen derselben Werbung zu vermeiden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;DoubleClick verwendet eine Cookie-ID, die zur Abwicklung des technischen Verfahrens erforderlich ist. Die Cookie-ID wird beispielsweise benötigt, um eine Werbeanzeige in einem Browser anzuzeigen. DoubleClick kann über die Cookie-ID zudem erfassen, welche Werbeanzeigen bereits in einem Browser eingeblendet wurden, um Doppelschaltungen zu vermeiden. Ferner ist es DoubleClick durch die Cookie-ID möglich, Conversions zu erfassen. Conversions werden beispielsweise dann erfasst, wenn einem Nutzer zuvor eine DoubleClick-Werbeanzeige eingeblendet wurde und dieser in der Folge mit dem gleichen Internetbrowser einen Kauf auf der Internetseite des Werbetreibenden vollzieht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ein Cookie von DoubleClick enthält keine personenbezogenen Daten. Ein DoubleClick-Cookie kann aber zusätzliche Kampagnen-Kennungen enthalten. Eine Kampagnen-Kennung dient einer Identifizierung der Kampagnen, mit denen der Nutzer bereits in Kontakt war.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine DoubleClick-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige DoubleClick-Komponente veranlasst, Daten zum Zwecke der Online-Werbung und der Abrechnung von Provisionen an Google zu übermitteln. Im Rahmen dieses technischen Verfahrens erhält Google Kenntnis über Daten, die Google auch dazu dienen, Provisionsabrechnungen zu erstellen. Google kann unter anderem nachvollziehen, dass die betroffene Person bestimmte Links auf unserer Internetseite angeklickt hat.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Google ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von Google bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von DoubleClick by Google können unter https://www.google.com/intl/de/policies/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;47. Datenschutzbestimmungen zu Einsatz und Verwendung von Awin&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von Awin integriert. Awin ist ein deutsches Affiliate-Netzwerk, welches Affiliate-Marketing anbietet. Affiliate-Marketing ist eine Internetgestützte Vertriebsform, die es kommerziellen Betreibern von Internetseiten, den sogenannten Merchants oder Advertisern, ermöglicht, Werbung, die meist über Klick- oder Sale-Provisionen vergütet wird, auf Internetseiten Dritter, also bei Vertriebspartnern, die auch Affiliates oder Publisher genannt werden, einzublenden. Der Merchant stellt über das Affiliate-Netzwerk ein Werbemittel, also einen Werbebanner oder andere geeignete Mittel der Internetwerbung zur Verfügung, welche in der Folge von einem Affiliate auf eigenen Internetseiten eingebunden oder über sonstige Kanäle, wie etwa das Keyword-Advertising oder E-Mail-Marketing, beworben werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Awin ist die Awin AG, Eichhornstraße 3, 10785 Berlin, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Awin setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Der Tracking-Cookie von Awin speichert keinerlei personenbezogene Daten. Gespeichert werden lediglich die Identifikationsnummer des Affiliate, also des den potentiellen Kunden vermittelnden Partners, sowie die Ordnungsnummer des Besuchers einer Internetseite und des angeklickten Werbemittels. Zweck der Speicherung dieser Daten ist die Abwicklung von Provisionszahlungen zwischen einem Merchant und dem Affiliate, welche über das Affiliate-Netzwerk, also Awin, abgewickelt werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Awin ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von Awin bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von Awin können unter http://www.Awin.com/de/ueber-Awin/datenschutz/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;48. Datenschutzbestimmungen zu Einsatz und Verwendung von Adcell&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von Adcell integriert. Adcell ist ein deutsches Affiliate-Netzwerk, welches Affiliate-Marketing anbietet. Affiliate-Marketing ist eine Internetgestützte Vertriebsform, die es kommerziellen Betreibern von Internetseiten, den sogenannten Merchants oder Advertisern, ermöglicht, Werbung, die meist über Klick- oder Sale-Provisionen vergütet wird, auf Internetseiten Dritter, also bei Vertriebspartnern, die auch Affiliates oder Publisher genannt werden, einzublenden. Der Merchant stellt über das Affiliate-Netzwerk ein Werbemittel, also einen Werbebanner oder andere geeignete Mittel der Internetwerbung, zur Verfügung, welche in der Folge von einem Affiliate auf eigenen Internetseiten eingebunden oder über sonstige Kanäle, wie etwa das Keyword-Advertising oder E-Mail-Marketing, beworben werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Adcell ist die Firstlead GmbH, Rosenfelder St. 15-16, 10315 Berlin, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Adcell setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Der Tracking-Cookie von Adcell speichert keinerlei personenbezogene Daten. Gespeichert werden lediglich die Identifikationsnummer des Affiliate, also des den potentiellen Kunden vermittelnden Partners, sowie die Ordnungsnummer des Besuchers einer Internetseite und des angeklickten Werbemittels. Zweck der Speicherung dieser Daten ist die Abwicklung von Provisionszahlungen zwischen einem Merchant und dem Affiliate, welche über das Affiliate-Netzwerk, also Adcell, abgewickelt werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Adcell ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von Adcell bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von Adcell können unter https://www.adcell.de/agb abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;49. Datenschutzbestimmungen zu Einsatz und Verwendung von Belboon&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von Belboon integriert. Belboon ist ein deutsches Affiliate-Netzwerk, welches Affiliate-Marketing anbietet. Affiliate-Marketing ist eine Internetgestützte Vertriebsform, die es kommerziellen Betreibern von Internetseiten, den sogenannten Merchants oder Advertisern, ermöglicht, Werbung, die meist über Klick- oder Sale-Provisionen vergütet wird, auf Internetseiten Dritter, also bei Vertriebspartnern, die auch Affiliates oder Publisher genannt werden, einzublenden. Der Merchant stellt über das Affiliate-Netzwerk ein Werbemittel, also einen Werbebanner oder andere geeignete Mittel der Internetwerbung zur Verfügung, welche in der Folge von einem Affiliate auf eigenen Internetseiten eingebunden oder über sonstige Kanäle, wie etwa das Keyword-Advertising oder E-Mail-Marketing, beworben werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Adcell ist die belboon GmbH, Weinmeisterstr. 12-14, 10178 Berlin, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Belboon setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Der Tracking-Cookie von Belboon speichert keinerlei personenbezogene Daten. Gespeichert werden lediglich die Identifikationsnummer des Affiliate, also des den potentiellen Kunden vermittelnden Partners, sowie die Ordnungsnummer des Besuchers einer Internetseite und des angeklickten Werbemittels. Zweck der Speicherung dieser Daten ist die Abwicklung von Provisionszahlungen zwischen einem Merchant und dem Affiliate, welche über das Affiliate-Netzwerk, also Belboon, abgewickelt werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Belboon ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von Belboon bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von Belboon können unter https://www.belboon.com/de/ueber-uns/datenschutz/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;50. Datenschutzbestimmungen zu Einsatz und Verwendung von TradeTracker&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von TradeTracker integriert. TradeTracker ist ein Affiliate-Netzwerk, welches Affiliate-Marketing anbietet. Affiliate-Marketing ist eine Internetgestützte Vertriebsform, die es kommerziellen Betreibern von Internetseiten, den sogenannten. Merchants oder Advertisern, ermöglicht, Werbung, die meist über Klick- oder Sale-Provisionen vergütet wird, auf Internetseiten Dritter, also bei Vertriebspartnern, die auch Affiliates oder Publisher genannt werden, einzublenden. Der Merchant stellt über das Affiliate-Netzwerk ein Werbemittel, also einen Werbebanner oder andere geeignete Mittel der Internetwerbung, zur Verfügung, welche in der Folge von einem Affiliate auf eigenen Internetseiten eingebunden oder über sonstige Kanäle, wie etwa das Keyword-Advertising oder E-Mail-Marketing, beworben werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von TradeTracker ist die TradeTracker Deutschland GmbH, Eiffestraße 426, 20537 Hamburg, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;TradeTracker setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Der Tracking-Cookie von TradeTracker speichert keinerlei personenbezogene Daten. Gespeichert werden lediglich die Identifikationsnummer des Affiliate, also des den potentiellen Kunden vermittelnden Partners, sowie die Ordnungsnummer des Besuchers einer Internetseite und des angeklickten Werbemittels. Zweck der Speicherung dieser Daten ist die Abwicklung von Provisionszahlungen zwischen einem Merchant und dem Affiliate, welche über das Affiliate-Netzwerk, also TradeTracker, abgewickelt werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass TradeTracker ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von TradeTracker bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von TradeTracker können unter https://tradetracker.com/de/privacy-policy/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;51. Datenschutzbestimmungen zu Einsatz und Verwendung von adgoal&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von adgoal integriert. Adgoal ist ein deutsches Affiliate-Netzwerk, welches Affiliate-Marketing anbietet. Affiliate-Marketing ist eine Internetgestützte Vertriebsform, die es kommerziellen Betreibern von Internetseiten, den sogenannten Merchants oder Advertisern, ermöglicht, Werbung, die meist über Klick- oder Sale-Provisionen vergütet wird, auf Internetseiten Dritter, also bei Vertriebspartnern, die auch Affiliates oder Publisher genannt werden, einzublenden. Der Merchant stellt über das Affiliate-Netzwerk ein Werbemittel, also einen Werbebanner oder andere geeignete Mittel der Internetwerbung, zur Verfügung, welche in der Folge von einem Affiliate auf eigenen Internetseiten eingebunden oder über sonstige Kanäle, wie etwa das Keyword-Advertising oder E-Mail-Marketing, beworben werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von adgoal ist die adgoal GmbH, Schellengasse 2, 74072 Heilbronn, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Adgoal setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Das Tracking-Cookie von adgoal speichert keinerlei personenbezogene Daten. Gespeichert werden lediglich die Identifikationsnummer des Affiliate, also des den potentiellen Kunden vermittelnden Partners sowie die Ordnungsnummer des Besuchers einer Internetseite und des angeklickten Werbemittels. Zweck der Speicherung dieser Daten ist die Abwicklung von Provisionszahlungen zwischen einem Merchant und dem Affiliate, welche über das Affiliate-Netzwerk, also adgoal, abgewickelt werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass adgoal ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von adgoal bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von adgoal können unter https://www.adgoal.de/de/privacy.html abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;52. Datenschutzbestimmungen zu Einsatz und Verwendung von YieldKit&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von YieldKit integriert. YieldKit ist ein deutsches Affiliate-Netzwerk, welches Affiliate-Marketing anbietet. Affiliate-Marketing ist eine Internetgestützte Vertriebsform, die es kommerziellen Betreibern von Internetseiten, den sogenannten Merchants oder Advertisern, ermöglicht, Werbung, die meist über Klick- oder Sale-Provisionen vergütet wird, auf Internetseiten Dritter, also bei Vertriebspartnern, die auch Affiliates oder Publisher genannt werden, einzublenden. Der Merchant stellt über das Affiliate-Netzwerk ein Werbemittel, also einen Werbebanner oder andere geeignete Mittel der Internetwerbung, zur Verfügung, welche in der Folge von einem Affiliate auf eigenen Internetseiten eingebunden oder über sonstige Kanäle, wie etwa das Keyword-Advertising oder E-Mail-Marketing, beworben werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von YieldKit ist die YieldKit GmbH, Jarrestraße 44b, 22303 Hamburg, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;YieldKit setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Das Tracking-Cookie von YieldKit speichert keinerlei personenbezogene Daten. Gespeichert werden lediglich die Identifikationsnummer des Affiliate, also des den potentiellen Kunden vermittelnden Partners, sowie die Ordnungsnummer des Besuchers einer Internetseite und des angeklickten Werbemittels. Zweck der Speicherung dieser Daten ist die Abwicklung von Provisionszahlungen zwischen einem Merchant und dem Affiliate, welche über das Affiliate-Netzwerk, also YieldKit, abgewickelt werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass YieldKit ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von YieldKit bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von YieldKit können unter http://yieldkit.com/legal-notes/privacy-policy/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;53. Datenschutzbestimmungen zu Einsatz und Verwendung von Tradedoubler&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von Tradedoubler integriert. Tradedoubler ist ein deutsches Affiliate-Netzwerk, welches Affiliate-Marketing anbietet. Affiliate-Marketing ist eine Internetgestützte Vertriebsform, die es kommerziellen Betreibern von Internetseiten, den sogenannten Merchants oder Advertisern, ermöglicht, Werbung, die meist über Klick- oder Sale-Provisionen vergütet wird, auf Internetseiten Dritter, also bei Vertriebspartnern, die auch Affiliates oder Publisher genannt werden, einzublenden. Der Merchant stellt über das Affiliate-Netzwerk ein Werbemittel, also einen Werbebanner oder andere geeignete Mittel der Internetwerbung, zur Verfügung, welche in der Folge von einem Affiliate auf eigenen Internetseiten eingebunden oder über sonstige Kanäle, wie etwa das Keyword-Advertising oder E-Mail-Marketing, beworben werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Tradedoubler ist die Tradedoubler GmbH, Herzog-Wilhelm-Straße 26, 80331 München, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Tradedoubler setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Der Tracking-Cookie von Tradedoubler speichert keinerlei personenbezogene Daten. Gespeichert werden lediglich die Identifikationsnummer des Affiliate, also des den potentiellen Kunden vermittelnden Partners, sowie die Ordnungsnummer des Besuchers einer Internetseite und des angeklickten Werbemittels. Zweck der Speicherung dieser Daten ist die Abwicklung von Provisionszahlungen zwischen einem Merchant und dem Affiliate, welche über das Affiliate-Netzwerk, also Tradedoubler, abgewickelt werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Tradedoubler ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von Tradedoubler bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von Tradedoubler können unter http://www.tradedoubler.com/de/datenschutzrichtlinie/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;54. Datenschutzbestimmungen zu Einsatz und Verwendung von Oracle Eloqua / Oracle Marketing Cloud&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von Oracle Eloqua / Oracle Marketing Cloud integriert (nachfolgend „Eloqua“ genannt). Eloqua gleicht relevante Internetseiteninhalte an Daten von Interessenten, Kunden und deren Profile an, um den Internetseitenbetreibern zu ermöglichen, Interessenten und Kunden effektiver und gezielter anzusprechen. Zweck von Eloqua ist es, die Konversionrate von Interessenten in Kunden zu erhöhen und damit den Umsatz eines Internetseitenbetreibers zu erhöhen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Eloqua ist die Oracle Corporation, 10 Van de Graaff Drive, Burlington, MA 01803, USA.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Eloqua setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Eloqua wird im Auftrag des für die Verarbeitung Verantwortlichen die über unsere Internetseite gewonnenen Daten und Informationen dazu nutzen, das Nutzerverhalten der betroffenen Person, die unsere Internetseite genutzt hat, auszuwerten. Ferner wird Eloqua die Daten nutzen, um in unserem Auftrag Reports über Nutzeraktivitäten zu erstellen, sowie weitere Dienstleistungen für unser Unternehmen zu erbringen, die im Zusammenhang mit der Nutzung unserer Internetseite stehen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Oracle ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von Oracle bereits gesetzte Cookies jederzeit über den Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, der Erfassung der durch das Eloqua-Cookie erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch Oracle zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person den Click-Here-Button unter https://www.oracle.com/marketingcloud/opt-status.html drücken, der einen Opt-Out-Cookie setzt. Der mit dem Widerspruch gesetzte Opt-Out-Cookie wird auf dem von der betroffenen Person genutzten informationstechnologischen System abgelegt. Werden die Cookies auf dem System der betroffenen Person nach einem Widerspruch gelöscht, muss die betroffene Person den Link erneut aufrufen und einen neuen Opt-Out-Cookie setzen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mit der Setzung des Opt-Out-Cookies besteht jedoch die Möglichkeit, dass die Internetseiten des für die Verarbeitung Verantwortlichen für die betroffene Person nicht mehr vollumfänglich nutzbar sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von Oracle können unter https://www.oracle.com/legal/privacy/index.html abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;55. Datenschutzbestimmungen zu Einsatz und Verwendung von Lotame&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von Lotame integriert. Lotame ist eine Plattform zum Datenmanagement, in welche Daten geräteübergreifend aus Drittquellen eingespeist werden, um in der Folge Content, Werbung und Angebote zu personalisieren. Lotame ist daher auch ein Analyse-Dienst. Ein Analyse-Dienst vollzieht eine Erhebung, Sammlung und Auswertung von Daten. Er wird überwiegend zur Optimierung einer Internetseite und zur Kosten-Nutzen-Planung von Werbeaktivitäten eingesetzt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Lotame ist die Lotame Solutions, Inc. Suite 2000 8850 Stanford Blvd. Columbia, Maryland, 21045, USA.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zweck von Lotame ist eine geräteübergreifende Ansprache unserer Kunden und Interessenten. Geräteübergreifend ist eine Ansprache der Kunden, wenn diese sowohl auf einem normalen Computersystem als auch auf mobilen Geräten wie Notebooks, Tablets oder Mobiltelefonen stattfindet. Lotame nutzt hierfür sogenannte Unique Identifiers (UIDs). Ein Unique Identifier ist eine Technologie, durch die festgestellt werden kann, welche unterschiedlichen technologischen Systeme von einer bestimmten Person genutzt werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Lotame setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Lotame-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Lotame-Komponente veranlasst, Daten zur Optimierungszwecken an Lotame zu übermitteln. Im Rahmen dieses technischen Verfahrens erhält Lotame Kenntnis über Daten, die in der Folge zur Erstellung von Nutzungsprofilen verwendet werden. Die so gewonnenen Nutzungsprofile dienen der Feststellung, welche unterschiedlichen informationstechnologischen Geräte der jeweilige Nutzer verwendet, um in der Folge unsere Werbeaktivitäten zu optimieren.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Lotame ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von Lotame bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weiter besteht die Möglichkeit einer Erfassung der durch das Lotame-Cookie erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch Lotame zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person den Opt-Out-Button unter https://www.lotame.com/opt-out-preference-manager/ drücken, durch welchen ein Opt-Out-Cookie gesetzt wird. Der mit dem Widerspruch gesetzte Opt-Out-Cookie wird auf dem von der betroffenen Person genutzten informationstechnologischen System abgelegt. Werden die Cookies auf dem System der betroffenen Person nach einem Widerspruch gelöscht, muss die betroffene Person den Link erneut aufrufen und einen neuen Opt-Out-Cookie setzen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mit der Setzung des Opt-Out-Cookies besteht jedoch die Möglichkeit, dass die Internetseiten des für die Verarbeitung Verantwortlichen für die betroffene Person nicht mehr vollumfänglich nutzbar sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von Lotame können unter https://www.lotame.com/legal/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;56. Datenschutzbestimmungen zu Einsatz und Verwendung von Bloglovin&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von Bloglovin integriert. Bloglovin ist eine Online-Plattform, welche den Nutzern die Organisation ihrer Lieblingsblogs ermöglicht. Ein Blog ist ein auf einer Internetseite geführtes, in der Regel öffentlich einsehbares Portal, in welchem eine oder mehrere Personen, die Blogger oder Weblogger genannt werden, Artikel posten oder Gedanken in sogenannten Blogposts niederschreiben können.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Bloglovin ist die Bloglovin Inc., 25 Broadway, New York, NY 10004, USA.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Bloglovin-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Bloglovin-Komponente veranlasst, eine Darstellung der entsprechenden Bloglovin-Komponente von Bloglovin herunterzuladen. Im Rahmen dieses technischen Verfahrens erhält Bloglovin Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei Bloglovin eingeloggt ist, erkennt Bloglovin mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite unserer Internetseite die betroffene Person besucht. Diese Informationen werden durch die Bloglovin-Komponente gesammelt und durch Bloglovin dem jeweiligen Bloglovin-Account der betroffenen Person zugeordnet. Betätigt die betroffene Person den auf unserer Internetseite integrierten Bloglovin-Button, so wird diese Information an Bloglovin übermittelt. Der Übermittlung derartiger Informationen hat die betroffene Person gegenüber Bloglovin bereits zugestimmt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Bloglovin können unter https://www.bloglovin.com/tos abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;57. Datenschutzbestimmungen zu Einsatz und Verwendung von Amobee&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von Amobee integriert. Amobee ist eine technologische Werbeagentur, die sich auf die Auslieferung von Werbung auf mobile Endgeräte spezialisiert hat.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Amobee ist die Amobee Inc., 950 Tower Lane, Suite 2000, Foster City, CA 94404, USA.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zweck von Amobee ist eine Auslieferung von Werbung. Amobee setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Amobee-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Amobee-Komponente veranlasst, Daten an Amobee zu übermitteln. Im Rahmen dieses technischen Verfahrens erhält Amobee Kenntnis über Daten, die in der Folge zur Erstellung von Nutzungsprofilen verwendet werden. Die so gewonnenen Nutzungsprofile dienen Werbeaktivitäten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Amobee ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von Amobee bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weiter besteht die Möglichkeit, einer Erfassung der durch das Amobee-Cookie erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch Amobee zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person den Click-Here-To-Opt-Out-Button unter http://amobee.com/privacy/technology/ drücken, durch welchen ein Opt-Out-Cookie gesetzt wird. Der mit dem Widerspruch gesetzte Opt-Out-Cookie wird auf dem von der betroffenen Person genutzten informationstechnologischen System abgelegt. Werden die Cookies auf dem System der betroffenen Person nach einem Widerspruch gelöscht, muss die betroffene Person den Link erneut aufrufen und einen neuen Opt-Out-Cookie setzen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mit der Setzung des Opt-Out-Cookies besteht jedoch die Möglichkeit, dass die Internetseiten des für die Verarbeitung Verantwortlichen für die betroffene Person nicht mehr vollumfänglich nutzbar sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von Amobee können unter http://amobee.com/privacy/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;58. Datenschutzbestimmungen zu Einsatz und Verwendung von ADITION&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von ADITION integriert. ADITION ist ein Anbieter für datenbasiertes digitales Marketing, der eine Advertising-Plattform bereitstellt, die sich an Werbetreibende und Online-Marketingagenturen richtet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von ADITION ist die ADITION technologies AG, Oststraße 55, 40211 Düsseldorf, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zweck von ADITION ist die Einblendung von digitalen Werbemitteln. ADITION setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. ADITION speichert in dem Cookie keine personenbezogenen Daten. Sämtliche in dem Cookie gespeicherten Informationen sind technischer Art und ermöglichen es unter anderem nachzuvollziehen, wie häufig bestimmte Werbemittel angezeigt werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass ADITION ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von ADITION bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weiter besteht die Möglichkeit, einer Erfassung der durch den ADITION-Cookie erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch ADITION zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person einen Link unter https://www.adition.com/kontakt/datenschutz/ klicken, durch welchen ein Opt-Out-Cookie gesetzt wird. Der mit dem Widerspruch gesetzte Opt-Out-Cookie, wird auf dem von der betroffenen Person genutzten informationstechnologischen System abgelegt. Werden die Cookies auf dem System der betroffenen Person nach einem Widerspruch gelöscht, muss die betroffene Person den Link erneut aufrufen und einen neuen Opt-Out-Cookie setzen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mit der Setzung des Opt-Out-Cookies besteht jedoch die Möglichkeit, dass die Internetseiten des für die Verarbeitung Verantwortlichen für die betroffene Person nicht mehr vollumfänglich nutzbar sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von ADITION können unter https://www.adition.com/kontakt/datenschutz/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;59. Datenschutzbestimmungen zu Einsatz und Verwendung von AdJug&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von AdJug integriert. AdJug ist eine Advertising-Exchange-Plattform, welche Online-Werbeplätze (Banner-Werbung) vermittelt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von AdJug ist die AdJug Ltd. 5th Floor Glen House, 200-208 Tottenham Court Road, London, W1T7PL, United Kingdom.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;AdJug setzt ein Cookie. Ferner wird durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine AdJug-Komponente integriert wurde, der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige AdJug-Komponente veranlasst, Daten zum Zwecke der Anzeige von Werbeanzeigen an AdJug zu übermitteln. Im Rahmen dieses technischen Verfahrens erhält AdJug Kenntnis darüber, dass unsere Internetseite durch das von der betroffenen Person genutzte informationstechnologische System aufgerufen wurde. Die im Rahmen des technischen Verfahrens an AdJug übertragenen Daten dienen zu Abrechnungszwecken in Bezug auf die eingeblendete Werbung.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass AdJug ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem können von AdJug bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch das AdJug-Cookie erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch AdJug zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person den Consumer-Cookie-Opt-Out-Link unter http://www.de.adjug.com/datenschutz.html drücken, der einen Opt-Out-Cookie setzt. Der mit dem Widerspruch gesetzte Opt-Out-Cookie wird auf dem von der betroffenen Person genutzten informationstechnologischen System abgelegt. Werden die Cookies auf dem System der betroffenen Person nach einem Widerspruch gelöscht, muss die betroffene Person den Link erneut aufrufen und einen neuen Opt-Out-Cookie setzen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mit der Setzung des Opt-Out-Cookies besteht jedoch die Möglichkeit, dass die Internetseiten des für die Verarbeitung Verantwortlichen für die betroffene Person nicht mehr vollumfänglich nutzbar sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von AdJug können unter http://www.de.adjug.com/datenschutz.html abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;60. Zahlungsart: Datenschutzbestimmungen zu Klarna als Zahlungsart&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von Klarna integriert. Klarna ist ein Online-Zahlungsdienstleister, der den Kauf auf Rechnung oder eine flexible Ratenzahlung ermöglicht. Ferner werden von Klarna weitere Services, wie beispielsweise ein Käuferschutz oder eine Identitäts- und Bonitätsprüfung, angeboten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Klarna ist die Klarna Bank AB, Sveavägen 46, 111 34 Stockholm, Schweden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wählt die betroffene Person während des Bestellvorgangs in unserem Online-Shop als Zahlungsmöglichkeit entweder den „Kauf auf Rechnung“ oder „Ratenkauf“ aus, werden automatisiert Daten der betroffenen Person an Klarna übermittelt. Mit der Auswahl einer dieser Zahlungsoptionen willigt die betroffene Person in diese, zur Abwicklung des Rechnungs- oder Ratenkaufes oder zur Identitäts- und Bonitätsprüfung erforderliche, Übermittlung personenbezogener Daten ein. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Bei den an Klarna übermittelten personenbezogenen Daten handelt es sich in der Regel um Vorname, Nachname, Adresse, Geburtsdatum, Geschlecht, Email-Adresse, IP-Adresse, Telefonnummer, Mobiltelefonnummer sowie um andere Daten, die zur Abwicklung eines Rechnungs- oder Ratenkaufs notwendig sind. Zur Abwicklung des Kaufvertrages notwendig sind auch solche personenbezogenen Daten, die im Zusammenhang mit der jeweiligen Bestellung stehen. Insbesondere kann es zum wechselseitigen Austausch von Zahlungsinformationen, wie Bankverbindung, Kartennummer, Gültigkeitsdatum und CVC-Code, Artikelanzahl, Artikelnummer, Daten zu Waren und Dienstleistungen, Preise und steuerliche Abgaben, Angaben zum früheren Kaufverhalten oder sonstige Angaben zur finanziellen Situation der betroffenen Person, kommen. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die Übermittlung der Daten bezweckt insbesondere die Identitätsüberprüfung, die Zahlungsadministration und die Betrugsprävention. Der für die Verarbeitung Verantwortliche wird Klarna personenbezogene Daten insbesondere dann übermitteln, wenn ein berechtigtes Interesse für die Übermittlung gegeben ist. Die zwischen Klarna und dem für die Verarbeitung Verantwortlichen ausgetauschten personenbezogenen Daten werden von Klarna an Wirtschaftsauskunfteien übermittelt. Diese Übermittlung bezweckt die Identitäts- und Bonitätsprüfung.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Klarna gibt die personenbezogenen Daten auch an verbundene Unternehmen (Klarna Gruppe) und Leistungserbringer oder Subunternehmer weiter, soweit dies zur Erfüllung der vertraglichen Verpflichtungen erforderlich ist oder die Daten im Auftrag verarbeitet werden sollen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zur Entscheidung über die Begründung, Durchführung oder Beendigung einer Vertragsbeziehung erhebt und nutzt Klarna Daten und Informationen über das bisherige Zahlungsverhalten der betroffenen Person sowie Wahrscheinlichkeitswerte für deren Verhalten in der Zukunft (sogenanntes Scoring). Die Berechnung des Scorings wird auf der Basis wissenschaftlich anerkannter mathematisch-statistischer Verfahren durchgeführt. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person hat die Möglichkeit, die Einwilligung zum Umgang mit personenbezogenen Daten jederzeit gegenüber Klarna zu widerrufen. Ein Widerruf wirkt sich nicht auf personenbezogene Daten aus, die zwingend zur (vertragsgemäßen) Zahlungsabwicklung verarbeitet, genutzt oder übermittelt werden müssen. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von Klarna können unter https://cdn.klarna.com/1.0/shared/content/policy/data/de_de/data_protection.pdf abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;61. Zahlungsart: Datenschutzbestimmungen zu PayPal als Zahlungsart&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von PayPal integriert. PayPal ist ein Online-Zahlungsdienstleister. Zahlungen werden über sogenannte PayPal-Konten abgewickelt, die virtuelle Privat- oder Geschäftskonten darstellen. Zudem besteht bei PayPal die Möglichkeit, virtuelle Zahlungen über Kreditkarten abzuwickeln, wenn ein Nutzer kein PayPal-Konto unterhält. Ein PayPal-Konto wird über eine E-Mail-Adresse geführt, weshalb es keine klassische Kontonummer gibt. PayPal ermöglicht es, Online-Zahlungen an Dritte auszulösen oder auch Zahlungen zu empfangen. PayPal übernimmt ferner Treuhänderfunktionen und bietet Käuferschutzdienste an.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die Europäische Betreibergesellschaft von PayPal ist die PayPal (Europe) S.à.r.l. et Cie, S.C.A., 22-24 Boulevard Royal L-2449, Luxemburg.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wählt die betroffene Person während des Bestellvorgangs in unserem Online-Shop als Zahlungsmöglichkeit „PayPal“ aus, werden automatisiert Daten der betroffenen Person an PayPal übermittelt. Mit der Auswahl dieser Zahlungsoption willigt die betroffene Person in die zur Zahlungsabwicklung erforderliche Übermittlung personenbezogener Daten ein.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Bei den an PayPal übermittelten personenbezogenen Daten handelt es sich in der Regel um Vorname, Nachname, Adresse, Email-Adresse, IP-Adresse, Telefonnummer, Mobiltelefonnummer oder andere Daten, die zur Zahlungsabwicklung notwendig sind. Zur Abwicklung des Kaufvertrages notwendig sind auch solche personenbezogenen Daten, die im Zusammenhang mit der jeweiligen Bestellung stehen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die Übermittlung der Daten bezweckt die Zahlungsabwicklung und die Betrugsprävention. Der für die Verarbeitung Verantwortliche wird PayPal personenbezogene Daten insbesondere dann übermitteln, wenn ein berechtigtes Interesse für die Übermittlung gegeben ist. Die zwischen PayPal und dem für die Verarbeitung Verantwortlichen ausgetauschten personenbezogenen Daten werden von PayPal unter Umständen an Wirtschaftsauskunfteien übermittelt. Diese Übermittlung bezweckt die Identitäts- und Bonitätsprüfung.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;PayPal gibt die personenbezogenen Daten gegebenenfalls an verbundene Unternehmen und Leistungserbringer oder Subunternehmer weiter, soweit dies zur Erfüllung der vertraglichen Verpflichtungen erforderlich ist oder die Daten im Auftrag verarbeitet werden sollen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person hat die Möglichkeit, die Einwilligung zum Umgang mit personenbezogenen Daten jederzeit gegenüber PayPal zu widerrufen. Ein Widerruf wirkt sich nicht auf personenbezogene Daten aus, die zwingend zur (vertragsgemäßen) Zahlungsabwicklung verarbeitet, genutzt oder übermittelt werden müssen. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von PayPal können unter https://www.paypal.com/de/webapps/mpp/ua/privacy-full abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;62. Zahlungsart: Datenschutzbestimmungen zu Skrill als Zahlungsart&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von Skrill integriert. Skrill ist ein Online-Zahlungsdienstleister. Die Zahlungen werden über das sogenannte Skrill-Wallet abgewickelt, welches eine virtuelle elektronische Geldbörse darstellt. Skrill bietet auch die Möglichkeit, virtuelle Zahlungen über Kreditkarten abzuwickeln. Ein Skrill-Wallet wird über eine E-Mail-Adresse geführt. Skrill ermöglicht es, Online-Zahlungen an Dritte auszulösen oder Zahlungen zu empfangen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Skrill ist die Skrill Limited, 25 Canada Square, London E14 5LQ, United Kingdom.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wählt die betroffene Person während des Bestellvorgangs in unserem Online-Shop als Zahlungsmöglichkeit „Skrill“ aus, werden automatisiert Daten der betroffenen Person an Skrill übermittelt. Mit der Auswahl dieser Zahlungsoption willigt die betroffene Person in die zur Zahlungsabwicklung erforderliche Übermittlung personenbezogener Daten ein.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Bei den mit Skrill ausgetauschten personenbezogenen Daten handelt es sich um die Kaufsumme und die E-Mail-Adresse, die zur Zahlungsabwicklung notwendig sind. Die Übermittlung der Daten bezweckt die Zahlungsabwicklung und die Betrugsprävention. Der für die Verarbeitung Verantwortliche wird Skrill andere personenbezogene Daten auch dann übermitteln, wenn ein berechtigtes Interesse für die Übermittlung gegeben ist. Die zwischen Skrill und dem für die Verarbeitung Verantwortlichen ausgetauschten personenbezogenen Daten werden von Skrill unter Umständen an Wirtschaftsauskunfteien übermittelt. Diese Übermittlung bezweckt die Identitäts- und Bonitätsprüfung.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Skrill gibt die personenbezogenen Daten gegebenenfalls an verbundene Unternehmen und Leistungserbringer oder Subunternehmer weiter, soweit dies zur Erfüllung der vertraglichen Verpflichtungen erforderlich ist oder die Daten im Auftrag verarbeitet werden sollen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person hat die Möglichkeit, die Einwilligung zum Umgang mit personenbezogenen Daten jederzeit gegenüber Skrill zu widerrufen. Ein Widerruf wirkt sich nicht auf personenbezogene Daten aus, die zwingend zur (vertragsgemäßen) Zahlungsabwicklung verarbeitet, genutzt oder übermittelt werden müssen. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von Skrill können unter https://www.skrill.com/de/fusszeile/datenschutzbestimmungen/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;63. Zahlungsart: Datenschutzbestimmungen zu Sofortüberweisung als Zahlungsart&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von Sofortüberweisung integriert. Sofortüberweisung ist ein Zahlungsdienst, der eine bargeldlose Zahlung von Produkten und Dienstleistungen im Internet ermöglicht. Sofortüberweisung bildet ein technisches Verfahren ab, durch welches der Online-Händler unverzüglich eine Zahlungsbestätigung erhält. So wird ein Händler in die Lage versetzt, Waren, Dienstleistungen oder Downloads sofort nach der Bestellung an den Kunden auszuliefern.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft von Sofortüberweisung ist die Klarna Bank AB, Sveavägen 46, 111 34 Stockholm, Schweden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wählt die betroffene Person während des Bestellvorgangs in unserem Online-Shop als Zahlungsmöglichkeit „Sofortüberweisung“ aus, werden automatisiert Daten der betroffenen Person an Sofortüberweisung übermittelt. Mit einer Auswahl dieser Zahlungsoption willigt die betroffene Person in eine zur Zahlungsabwicklung erforderliche Übermittlung personenbezogener Daten ein.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Bei der Kaufabwicklung über Sofortüberweisung übermittelt der Käufer die PIN und die TAN an die Sofort GmbH. Sofortüberweisung führt sodann nach technischer Überprüfung des Kontostandes und Abruf weiterer Daten zur Prüfung der Kontodeckung eine Überweisung an den Online-Händler aus. Die Durchführung der Finanztransaktion wird dem Online-Händler sodann automatisiert mitgeteilt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Bei den mit Sofortüberweisung ausgetauschten personenbezogenen Daten handelt es sich um Vorname, Nachname, Adresse, Email-Adresse, IP-Adresse, Telefonnummer, Mobiltelefonnummer oder andere Daten, die zur Zahlungsabwicklung notwendig sind. Die Übermittlung der Daten bezweckt die Zahlungsabwicklung und die Betrugsprävention. Der für die Verarbeitung Verantwortliche wird Sofortüberweisung andere personenbezogene Daten auch dann übermitteln, wenn ein berechtigtes Interesse für die Übermittlung gegeben ist. Die zwischen Sofortüberweisung und dem für die Verarbeitung Verantwortlichen ausgetauschten personenbezogenen Daten werden von Sofortüberweisung unter Umständen an Wirtschaftsauskunfteien übermittelt. Diese Übermittlung bezweckt die Identitäts- und Bonitätsprüfung.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofortüberweisung gibt die personenbezogenen Daten gegebenenfalls an verbundene Unternehmen und Leistungserbringer oder Subunternehmer weiter, soweit dies zur Erfüllung der vertraglichen Verpflichtungen erforderlich ist oder die Daten im Auftrag verarbeitet werden sollen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person hat die Möglichkeit, die Einwilligung zum Umgang mit personenbezogenen Daten jederzeit gegenüber Sofortüberweisung zu widerrufen. Ein Widerruf wirkt sich nicht auf personenbezogene Daten aus, die zwingend zur (vertragsgemäßen) Zahlungsabwicklung verarbeitet, genutzt oder übermittelt werden müssen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die geltenden Datenschutzbestimmungen von Sofortüberweisung können unter https://www.klarna.com/sofort/datenschutz/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;64. Rechtsgrundlage der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Art. 6 I lit. a DS-GVO dient unserem Unternehmen als Rechtsgrundlage für Verarbeitungsvorgänge, bei denen wir eine Einwilligung für einen bestimmten Verarbeitungszweck einholen. Ist die Verarbeitung personenbezogener Daten zur Erfüllung eines Vertrags, dessen Vertragspartei die betroffene Person ist, erforderlich, wie dies beispielsweise bei Verarbeitungsvorgängen der Fall ist, die für eine Lieferung von Waren oder die Erbringung einer sonstigen Leistung oder Gegenleistung notwendig sind, so beruht die Verarbeitung auf Art. 6 I lit. b DS-GVO. Gleiches gilt für solche Verarbeitungsvorgänge die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind, etwa in Fällen von Anfragen zur unseren Produkten oder Leistungen. Unterliegt unser Unternehmen einer rechtlichen Verpflichtung durch welche eine Verarbeitung von personenbezogenen Daten erforderlich wird, wie beispielsweise zur Erfüllung steuerlicher Pflichten, so basiert die Verarbeitung auf Art. 6 I lit. c DS-GVO. In seltenen Fällen könnte die Verarbeitung von personenbezogenen Daten erforderlich werden, um lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person zu schützen. Dies wäre beispielsweise der Fall, wenn ein Besucher in unserem Betrieb verletzt werden würde und daraufhin sein Name, sein Alter, seine Krankenkassendaten oder sonstige lebenswichtige Informationen an einen Arzt, ein Krankenhaus oder sonstige Dritte weitergegeben werden müssten. Dann würde die Verarbeitung auf Art. 6 I lit. d DS-GVO beruhen.&lt;br /&gt;
Letztlich könnten Verarbeitungsvorgänge auf Art. 6 I lit. f DS-GVO beruhen. Auf dieser Rechtsgrundlage basieren Verarbeitungsvorgänge, die von keiner der vorgenannten Rechtsgrundlagen erfasst werden, wenn die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich ist, sofern die Interessen, Grundrechte und Grundfreiheiten des Betroffenen nicht überwiegen. Solche Verarbeitungsvorgänge sind uns insbesondere deshalb gestattet, weil sie durch den Europäischen Gesetzgeber besonders erwähnt wurden. Er vertrat insoweit die Auffassung, dass ein berechtigtes Interesse anzunehmen sein könnte, wenn die betroffene Person ein Kunde des Verantwortlichen ist (Erwägungsgrund 47 Satz 2 DS-GVO).&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;65. Berechtigte Interessen an der Verarbeitung, die von dem Verantwortlichen oder einem Dritten verfolgt werden&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Basiert die Verarbeitung personenbezogener Daten auf Artikel 6 I lit. f DS-GVO ist unser berechtigtes Interesse die Durchführung unserer Geschäftstätigkeit zugunsten des Wohlergehens all unserer Mitarbeiter und unserer Anteilseigner.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;66. Dauer, für die die personenbezogenen Daten gespeichert werden&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Das Kriterium für die Dauer der Speicherung von personenbezogenen Daten ist die jeweilige gesetzliche Aufbewahrungsfrist. Nach Ablauf der Frist werden die entsprechenden Daten routinemäßig gelöscht, sofern sie nicht mehr zur Vertragserfüllung oder Vertragsanbahnung erforderlich sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;67. Gesetzliche oder vertragliche Vorschriften zur Bereitstellung der personenbezogenen Daten; Erforderlichkeit für den Vertragsabschluss; Verpflichtung der betroffenen Person, die personenbezogenen Daten bereitzustellen; mögliche Folgen der Nichtbereitstellung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wir klären Sie darüber auf, dass die Bereitstellung personenbezogener Daten zum Teil gesetzlich vorgeschrieben ist (z.B. Steuervorschriften) oder sich auch aus vertraglichen Regelungen (z.B. Angaben zum Vertragspartner) ergeben kann.&lt;br /&gt;
Mitunter kann es zu einem Vertragsschluss erforderlich sein, dass eine betroffene Person uns personenbezogene Daten zur Verfügung stellt, die in der Folge durch uns verarbeitet werden müssen. Die betroffene Person ist beispielsweise verpflichtet uns personenbezogene Daten bereitzustellen, wenn unser Unternehmen mit ihr einen Vertrag abschließt. Eine Nichtbereitstellung der personenbezogenen Daten hätte zur Folge, dass der Vertrag mit dem Betroffenen nicht geschlossen werden könnte.&lt;br /&gt;
Vor einer Bereitstellung personenbezogener Daten durch den Betroffenen muss sich der Betroffene an einen unserer Mitarbeiter wenden. Unser Mitarbeiter klärt den Betroffenen einzelfallbezogen darüber auf, ob die Bereitstellung der personenbezogenen Daten gesetzlich oder vertraglich vorgeschrieben oder für den Vertragsabschluss erforderlich ist, ob eine Verpflichtung besteht, die personenbezogenen Daten bereitzustellen, und welche Folgen die Nichtbereitstellung der personenbezogenen Daten hätte.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;68. Bestehen einer automatisierten Entscheidungsfindung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Als verantwortungsbewusstes Unternehmen verzichten wir auf eine automatische Entscheidungsfindung oder ein Profiling.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Diese Datenschutzerklärung wurde durch den Datenschutzerklärungs-Generator der DGD Deutsche Gesellschaft für Datenschutz GmbH, die als &amp;lt;a href=&amp;quot;https://dg-datenschutz.de/datenschutz-dienstleistungen/externer-datenschutzbeauftragter/&amp;quot;&amp;gt;Externer Datenschutzbeauftragter München&amp;lt;/a&amp;gt; tätig ist, in Kooperation mit dem &amp;lt;a href=&amp;quot;https://www.wbs-law.de/&amp;quot;&amp;gt;Rechtsanwalt für Datenschutzrecht Christian Solmecke&amp;lt;/a&amp;gt; erstellt.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Englisch ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;Privacy Policy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;We are very delighted that you have shown interest in our enterprise. Data protection is of a particularly high priority for the management of the Theo Tester GmbH. The use of the Internet pages of the Theo Tester GmbH is possible without any indication of personal data; however, if a data subject wants to use special enterprise services via our website, processing of personal data could become necessary. If the processing of personal data is necessary and there is no statutory basis for such processing, we generally obtain consent from the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The processing of personal data, such as the name, address, e-mail address, or telephone number of a data subject shall always be in line with the General Data Protection Regulation (GDPR), and in accordance with the country-specific data protection regulations applicable to the Theo Tester GmbH. By means of this data protection declaration, our enterprise would like to inform the general public of the nature, scope, and purpose of the personal data we collect, use and process. Furthermore, data subjects are informed, by means of this data protection declaration, of the rights to which they are entitled.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;As the controller, the Theo Tester GmbH has implemented numerous technical and organizational measures to ensure the most complete protection of personal data processed through this website. However, Internet-based data transmissions may in principle have security gaps, so absolute protection may not be guaranteed. For this reason, every data subject is free to transfer personal data to us via alternative means, e.g. by telephone. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;1. Definitions&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The data protection declaration of the Theo Tester GmbH is based on the terms used by the European legislator for the adoption of the General Data Protection Regulation (GDPR). Our data protection declaration should be legible and understandable for the general public, as well as our customers and business partners. To ensure this, we would like to first explain the terminology used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In this data protection declaration, we use, inter alia, the following terms:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a)    Personal data&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Personal data means any information relating to an identified or identifiable natural person (“data subject”). An identifiable natural person is one who can be identified, directly or indirectly, in particular by reference to an identifier such as a name, an identification number, location data, an online identifier or to one or more factors specific to the physical, physiological, genetic, mental, economic, cultural or social identity of that natural person.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b) Data subject&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Data subject is any identified or identifiable natural person, whose personal data is processed by the controller responsible for the processing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c)    Processing&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Processing is any operation or set of operations which is performed on personal data or on sets of personal data, whether or not by automated means, such as collection, recording, organisation, structuring, storage, adaptation or alteration, retrieval, consultation, use, disclosure by transmission, dissemination or otherwise making available, alignment or combination, restriction, erasure or destruction. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;d)    Restriction of processing&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Restriction of processing is the marking of stored personal data with the aim of limiting their processing in the future. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e)    Profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Profiling means any form of automated processing of personal data consisting of the use of personal data to evaluate certain personal aspects relating to a natural person, in particular to analyse or predict aspects concerning that natural person&amp;#039;s performance at work, economic situation, health, personal preferences, interests, reliability, behaviour, location or movements. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f)     Pseudonymisation&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Pseudonymisation is the processing of personal data in such a manner that the personal data can no longer be attributed to a specific data subject without the use of additional information, provided that such additional information is kept separately and is subject to technical and organisational measures to ensure that the personal data are not attributed to an identified or identifiable natural person. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;g)    Controller or controller responsible for the processing&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Controller or controller responsible for the processing is the natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of personal data; where the purposes and means of such processing are determined by Union or Member State law, the controller or the specific criteria for its nomination may be provided for by Union or Member State law. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h)    Processor&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Processor is a natural or legal person, public authority, agency or other body which processes personal data on behalf of the controller. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i)      Recipient&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Recipient is a natural or legal person, public authority, agency or another body, to which the personal data are disclosed, whether a third party or not. However, public authorities which may receive personal data in the framework of a particular inquiry in accordance with Union or Member State law shall not be regarded as recipients; the processing of those data by those public authorities shall be in compliance with the applicable data protection rules according to the purposes of the processing. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;j)      Third party&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Third party is a natural or legal person, public authority, agency or body other than the data subject, controller, processor and persons who, under the direct authority of the controller or processor, are authorised to process personal data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;k)    Consent&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Consent of the data subject is any freely given, specific, informed and unambiguous indication of the data subject&amp;#039;s wishes by which he or she, by a statement or by a clear affirmative action, signifies agreement to the processing of personal data relating to him or her. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;2. Name and Address of the controller&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Controller for the purposes of the General Data Protection Regulation (GDPR), other data protection laws applicable in Member states of the European Union and other provisions related to data protection is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Theo Tester GmbH&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Teststraße 1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;12345 Testhausen&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Deutschland&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Phone: +49 123 456&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Email: info@theotester.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Website: theotester.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;3. Name and Address of the Data Protection Officer&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The Data Protection Officer of the controller is:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Herr Theo Tester&lt;br /&gt;
&amp;lt;p&amp;gt;Theo Tester GmbH&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Teststraße 1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;12345 Testhausen&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Deutschland&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Phone: +49 123 456&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Email: info@theotester.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Website: theotester.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Any data subject may, at any time, contact our Data Protection Officer directly with all questions and suggestions concerning data protection.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;4. Cookies&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The Internet pages of the Theo Tester GmbH use cookies. Cookies are text files that are stored in a computer system via an Internet browser.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Many Internet sites and servers use cookies. Many cookies contain a so-called cookie ID. A cookie ID is a unique identifier of the cookie. It consists of a character string through which Internet pages and servers can be assigned to the specific Internet browser in which the cookie was stored. This allows visited Internet sites and servers to differentiate the individual browser of the dats subject from other Internet browsers that contain other cookies. A specific Internet browser can be recognized and identified using the unique cookie ID.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Through the use of cookies, the Theo Tester GmbH can provide the users of this website with more user-friendly services that would not be possible without the cookie setting.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;By means of a cookie, the information and offers on our website can be optimized with the user in mind. Cookies allow us, as previously mentioned, to recognize our website users. The purpose of this recognition is to make it easier for users to utilize our website. The website user that uses cookies, e.g. does not have to enter access data each time the website is accessed, because this is taken over by the website, and the cookie is thus stored on the user&amp;#039;s computer system. Another example is the cookie of a shopping cart in an online shop. The online store remembers the articles that a customer has placed in the virtual shopping cart via a cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, at any time, prevent the setting of cookies through our website by means of a corresponding setting of the Internet browser used, and may thus permanently deny the setting of cookies. Furthermore, already set cookies may be deleted at any time via an Internet browser or other software programs. This is possible in all popular Internet browsers. If the data subject deactivates the setting of cookies in the Internet browser used, not all functions of our website may be entirely usable.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;5. Collection of general data and information&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The website of the Theo Tester GmbH collects a series of general data and information when a data subject or automated system calls up the website. This general data and information are stored in the server log files. Collected may be (1) the browser types and versions used, (2) the operating system used by the accessing system, (3) the website from which an accessing system reaches our website (so-called referrers), (4) the sub-websites, (5) the date and time of access to the Internet site, (6) an Internet protocol address (IP address), (7) the Internet service provider of the accessing system, and (8) any other similar data and information that may be used in the event of attacks on our information technology systems.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;When using these general data and information, the Theo Tester GmbH does not draw any conclusions about the data subject. Rather, this information is needed to (1) deliver the content of our website correctly, (2) optimize the content of our website as well as its advertisement, (3) ensure the long-term viability of our information technology systems and website technology, and (4) provide law enforcement authorities with the information necessary for criminal prosecution in case of a cyber-attack. Therefore, the Theo Tester GmbH analyzes anonymously collected data and information statistically, with the aim of increasing the data protection and data security of our enterprise, and to ensure an optimal level of protection for the personal data we process. The anonymous data of the server log files are stored separately from all personal data provided by a data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;6. Registration on our website&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject has the possibility to register on the website of the controller with the indication of personal data. Which personal data are transmitted to the controller is determined by the respective input mask used for the registration. The personal data entered by the data subject are collected and stored exclusively for internal use by the controller, and for his own purposes. The controller may request transfer to one or more processors (e.g. a parcel service) that also uses personal data for an internal purpose which is attributable to the controller.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;By registering on the website of the controller, the IP address—assigned by the Internet service provider (ISP) and used by the data subject—date, and time of the registration are also stored. The storage of this data takes place against the background that this is the only way to prevent the misuse of our services, and, if necessary, to make it possible to investigate committed offenses. Insofar, the storage of this data is necessary to secure the controller. This data is not passed on to third parties unless there is a statutory obligation to pass on the data, or if the transfer serves the aim of criminal prosecution.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The registration of the data subject, with the voluntary indication of personal data, is intended to enable the controller to offer the data subject contents or services that may only be offered to registered users due to the nature of the matter in question. Registered persons are free to change the personal data specified during the registration at any time, or to have them completely deleted from the data stock of the controller.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data controller shall, at any time, provide information upon request to each data subject as to what personal data are stored about the data subject. In addition, the data controller shall correct or erase personal data at the request or indication of the data subject, insofar as there are no statutory storage obligations. The entirety of the controller’s employees are available to the data subject in this respect as contact persons.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;7. Subscription to our newsletters&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On the website of the Theo Tester GmbH, users are given the opportunity to subscribe to our enterprise&amp;#039;s newsletter. The input mask used for this purpose determines what personal data are transmitted, as well as when the newsletter is ordered from the controller.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The Theo Tester GmbH informs its customers and business partners regularly by means of a newsletter about enterprise offers. The enterprise&amp;#039;s newsletter may only be received by the data subject if (1) the data subject has a valid e-mail address and (2) the data subject registers for the newsletter shipping. A confirmation e-mail will be sent to the e-mail address registered by a data subject for the first time for newsletter shipping, for legal reasons, in the double opt-in procedure. This confirmation e-mail is used to prove whether the owner of the e-mail address as the data subject is authorized to receive the newsletter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;During the registration for the newsletter, we also store the IP address of the computer system assigned by the Internet service provider (ISP) and used by the data subject at the time of the registration, as well as the date and time of the registration. The collection of this data is necessary in order to understand the (possible) misuse of the e-mail address of a data subject at a later date, and it therefore serves the aim of the legal protection of the controller.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The personal data collected as part of a registration for the newsletter will only be used to send our newsletter. In addition, subscribers to the newsletter may be informed by e-mail, as long as this is necessary for the operation of the newsletter service or a registration in question, as this could be the case in the event of modifications to the newsletter offer, or in the event of a change in technical circumstances. There will be no transfer of personal data collected by the newsletter service to third parties. The subscription to our newsletter may be terminated by the data subject at any time. The consent to the storage of personal data, which the data subject has given for shipping the newsletter, may be revoked at any time. For the purpose of revocation of consent, a corresponding link is found in each newsletter. It is also possible to unsubscribe from the newsletter at any time directly on the website of the controller, or to communicate this to the controller in a different way.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;8. Newsletter-Tracking&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The newsletter of the Theo Tester GmbH contains so-called tracking pixels. A tracking pixel is a miniature graphic embedded in such e-mails, which are sent in HTML format to enable log file recording and analysis. This allows a statistical analysis of the success or failure of online marketing campaigns. Based on the embedded tracking pixel, the Theo Tester GmbH may see if and when an e-mail was opened by a data subject, and which links in the e-mail were called up by data subjects.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Such personal data collected in the tracking pixels contained in the newsletters are stored and analyzed by the controller in order to optimize the shipping of the newsletter, as well as to adapt the content of future newsletters even better to the interests of the data subject. These personal data will not be passed on to third parties. Data subjects are at any time entitled to revoke the respective separate declaration of consent issued by means of the double-opt-in procedure. After a revocation, these personal data will be deleted by the controller. The Theo Tester GmbH automatically regards a withdrawal from the receipt of the newsletter as a revocation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;9. Contact possibility via the website &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The website of the Theo Tester GmbH contains information that enables a quick electronic contact to our enterprise, as well as direct communication with us, which also includes a general address of the so-called electronic mail (e-mail address). If a data subject contacts the controller by e-mail or via a contact form, the personal data transmitted by the data subject are automatically stored. Such personal data transmitted on a voluntary basis by a data subject to the data controller are stored for the purpose of processing or contacting the data subject. There is no transfer of this personal data to third parties.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;10. Comments function in the blog on the website&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The Theo Tester GmbH offers users the possibility to leave individual comments on individual blog contributions on a blog, which is on the website of the controller. A blog is a web-based, publicly-accessible portal, through which one or more people called bloggers or web-bloggers may post articles or write down thoughts in so-called blogposts. Blogposts may usually be commented by third parties.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If a data subject leaves a comment on the blog published on this website, the comments made by the data subject are also stored and published, as well as information on the date of the commentary and on the user&amp;#039;s (pseudonym) chosen by the data subject. In addition, the IP address assigned by the Internet service provider (ISP) to the data subject is also logged. This storage of the IP address takes place for security reasons, and in case the data subject violates the rights of third parties, or posts illegal content through a given comment. The storage of these personal data is, therefore, in the own interest of the data controller, so that he can exculpate in the event of an infringement. This collected personal data will not be passed to third parties, unless such a transfer is required by law or serves the aim of the defense of the data controller.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;11. Subscription to comments in the blog on the website&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The comments made in the blog of the Theo Tester GmbH may be subscribed to by third parties. In particular, there is the possibility that a commenter subscribes to the comments following his comments on a particular blog post.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If a data subject decides to subscribe to the option, the controller will send an automatic confirmation e-mail to check the double opt-in procedure as to whether the owner of the specified e-mail address decided in favor of this option. The option to subscribe to comments may be terminated at any time.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;12. Routine erasure and blocking of personal data&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The data controller shall process and store the personal data of the data subject only for the period necessary to achieve the purpose of storage, or as far as this is granted by the European legislator or other legislators in laws or regulations to which the controller is subject to.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the storage purpose is not applicable, or if a storage period prescribed by the European legislator or another competent legislator expires, the personal data are routinely blocked or erased in accordance with legal requirements.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;13. Rights of the data subject&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a) Right of confirmation&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to obtain from the controller the confirmation as to whether or not personal data concerning him or her are being processed. If a data subject wishes to avail himself of this right of confirmation, he or she may, at any time, contact any employee of the controller.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b) Right of access&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to obtain from the controller free information about his or her personal data stored at any time and a copy of this information. Furthermore, the European directives and regulations grant the data subject access to the following information:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the purposes of the processing;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the categories of personal data concerned;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the recipients or categories of recipients to whom the personal data have been or will be disclosed, in particular recipients in third countries or international organisations;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;where possible, the envisaged period for which the personal data will be stored, or, if not possible, the criteria used to determine that period;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the existence of the right to request from the controller rectification or erasure of personal data, or restriction of processing of personal data concerning the data subject, or to object to such processing;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the existence of the right to lodge a complaint with a supervisory authority;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;where the personal data are not collected from the data subject, any available information as to their source;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the existence of automated decision-making, including profiling, referred to in Article 22(1) and (4) of the GDPR and, at least in those cases, meaningful information about the logic involved, as well as the significance and envisaged consequences of such processing for the data subject.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Furthermore, the data subject shall have a right to obtain information as to whether personal data are transferred to a third country or to an international organisation. Where this is the case, the data subject shall have the right to be informed of the appropriate safeguards relating to the transfer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If a data subject wishes to avail himself of this right of access, he or she may, at any time, contact any employee of the controller.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c) Right to rectification &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to obtain from the controller without undue delay the rectification of inaccurate personal data concerning him or her. Taking into account the purposes of the processing, the data subject shall have the right to have incomplete personal data completed, including by means of providing a supplementary statement.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If a data subject wishes to exercise this right to rectification, he or she may, at any time, contact any employee of the controller.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;d) Right to erasure (Right to be forgotten) &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to obtain from the controller the erasure of personal data concerning him or her without undue delay, and the controller shall have the obligation to erase personal data without undue delay where one of the following grounds applies, as long as the processing is not necessary: &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The personal data are no longer necessary in relation to the purposes for which they were collected or otherwise processed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The data subject withdraws consent to which the processing is based according to point (a) of Article 6(1) of the GDPR, or point (a) of Article 9(2) of the GDPR, and where there is no other legal ground for the processing.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The data subject objects to the processing pursuant to Article 21(1) of the GDPR and there are no overriding legitimate grounds for the processing, or the data subject objects to the processing pursuant to Article 21(2) of the GDPR. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The personal data have been unlawfully processed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The personal data must be erased for compliance with a legal obligation in Union or Member State law to which the controller is subject.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The personal data have been collected in relation to the offer of information society services referred to in Article 8(1) of the GDPR.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If one of the aforementioned reasons applies, and a data subject wishes to request the erasure of personal data stored by the Theo Tester GmbH, he or she may, at any time, contact any employee of the controller. An employee of Theo Tester GmbH shall promptly ensure that the erasure request is complied with immediately.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Where the controller has made personal data public and is obliged pursuant to Article 17(1) to erase the personal data, the controller, taking account of available technology and the cost of implementation, shall take reasonable steps, including technical measures, to inform other controllers processing the personal data that the data subject has requested erasure by such controllers of any links to, or copy or replication of, those personal data, as far as processing is not required. An employees of the Theo Tester GmbH will arrange the necessary measures in individual cases.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e) Right of restriction of processing&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to obtain from the controller restriction of processing where one of the following applies:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The accuracy of the personal data is contested by the data subject, for a period enabling the controller to verify the accuracy of the personal data. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The processing is unlawful and the data subject opposes the erasure of the personal data and requests instead the restriction of their use instead.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The controller no longer needs the personal data for the purposes of the processing, but they are required by the data subject for the establishment, exercise or defence of legal claims.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The data subject has objected to processing pursuant to Article 21(1) of the GDPR pending the verification whether the legitimate grounds of the controller override those of the data subject.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If one of the aforementioned conditions is met, and a data subject wishes to request the restriction of the processing of personal data stored by the Theo Tester GmbH, he or she may at any time contact any employee of the controller. The employee of the Theo Tester GmbH will arrange the restriction of the processing. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f) Right to data portability&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator, to receive the personal data concerning him or her, which was provided to a controller, in a structured, commonly used and machine-readable format. He or she shall have the right to transmit those data to another controller without hindrance from the controller to which the personal data have been provided, as long as the processing is based on consent pursuant to point (a) of Article 6(1) of the GDPR or point (a) of Article 9(2) of the GDPR, or on a contract pursuant to point (b) of Article 6(1) of the GDPR, and the processing is carried out by automated means, as long as the processing is not necessary for the performance of a task carried out in the public interest or in the exercise of official authority vested in the controller.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Furthermore, in exercising his or her right to data portability pursuant to Article 20(1) of the GDPR, the data subject shall have the right to have personal data transmitted directly from one controller to another, where technically feasible and when doing so does not adversely affect the rights and freedoms of others.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In order to assert the right to data portability, the data subject may at any time contact any employee of the Theo Tester GmbH.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;g) Right to object&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to object, on grounds relating to his or her particular situation, at any time, to processing of personal data concerning him or her, which is based on point (e) or (f) of Article 6(1) of the GDPR. This also applies to profiling based on these provisions.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The Theo Tester GmbH shall no longer process the personal data in the event of the objection, unless we can demonstrate compelling legitimate grounds for the processing which override the interests, rights and freedoms of the data subject, or for the establishment, exercise or defence of legal claims.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the Theo Tester GmbH processes personal data for direct marketing purposes, the data subject shall have the right to object at any time to processing of personal data concerning him or her for such marketing. This applies to profiling to the extent that it is related to such direct marketing. If the data subject objects to the Theo Tester GmbH to the processing for direct marketing purposes, the Theo Tester GmbH will no longer process the personal data for these purposes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the right, on grounds relating to his or her particular situation, to object to processing of personal data concerning him or her by the Theo Tester GmbH for scientific or historical research purposes, or for statistical purposes pursuant to Article 89(1) of the GDPR, unless the processing is necessary for the performance of a task carried out for reasons of public interest.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In order to exercise the right to object, the data subject may contact any employee of the Theo Tester GmbH. In addition, the data subject is free in the context of the use of information society services, and notwithstanding Directive 2002/58/EC, to use his or her right to object by automated means using technical specifications.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h) Automated individual decision-making, including profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator not to be subject to a decision based solely on automated processing, including profiling, which produces legal effects concerning him or her, or similarly significantly affects him or her, as long as the decision (1) is not is necessary for entering into, or the performance of, a contract between the data subject and a data controller, or (2) is not authorised by Union or Member State law to which the controller is subject and which also lays down suitable measures to safeguard the data subject&amp;#039;s rights and freedoms and legitimate interests, or (3) is not based on the data subject&amp;#039;s explicit consent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the decision (1) is necessary for entering into, or the performance of, a contract between the data subject and a data controller, or (2) it is based on the data subject&amp;#039;s explicit consent, the Theo Tester GmbH shall implement suitable measures to safeguard the data subject&amp;#039;s rights and freedoms and legitimate interests, at least the right to obtain human intervention on the part of the controller, to express his or her point of view and contest the decision.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject wishes to exercise the rights concerning automated individual decision-making, he or she may, at any time, contact any employee of the Theo Tester GmbH.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i) Right to withdraw data protection consent &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to withdraw his or her consent to processing of his or her personal data at any time. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject wishes to exercise the right to withdraw the consent, he or she may, at any time, contact any employee of the Theo Tester GmbH.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;14. Data protection for applications and the application procedures&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The data controller shall collect and process the personal data of applicants for the purpose of the processing of the application procedure. The processing may also be carried out electronically. This is the case, in particular, if an applicant submits corresponding application documents by e-mail or by means of a web form on the website to the controller. If the data controller concludes an employment contract with an applicant, the submitted data will be stored for the purpose of processing the employment relationship in compliance with legal requirements. If no employment contract is concluded with the applicant by the controller, the application documents shall be automatically erased two months after notification of the refusal decision, provided that no other legitimate interests of the controller are opposed to the erasure. Other legitimate interest in this relation is, e.g. a burden of proof in a procedure under the General Equal Treatment Act (AGG).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;15. Data Protection provisions about the application and use of AddThis&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the data controller has integrated components of the enterprise AddThis. AddThis is a so-called bookmarking provider. The service allows for simplified bookmarking of Internet pages via buttons. By clicking on the AddThis component with the mouse, or by clicking on it, a list of bookmarking and sharing services is displayed. AddThis is used on over 15 million websites, and the buttons are displayed, according to the information of the operating enterprise, over 20 billion times a year.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of AddThis is Oracle Corporation, 10 Van de Graaff Drive, Burlington, MA 01803, USA.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;By calling up one of the individual pages of the website, which is operated by the controller, and on which an AddThis component has been integrated, the Internet browser of the data subject is automatically prompted by the respective AddThis component to download data from the website www.addthis.com. Within the framework of this technical procedure, AddThis is informed of the visit and the specific individual page of this website that was used by the data subject with the help of information technology. In addition, AddThis is informed about the IP address of the computer system assigned by the Internet service provider (ISP) and used by the data subject, the browser type and language, the web page accessed before our website, the date and the time of the visit to our website. AddThis uses this data to create anonymous user profiles. The data and information transmitted to AddThis in this way will enable the enterprise AddThis, as well as affiliates or their partner-enterprises, to contact visitors of the web pages of the controller with personalized and interest-based advertising.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;AddThis displays personalized and interest-based advertising on the basis of a cookie set by the enterprise. This cookie analyzes the individual surfing behavior of the computer system used by the data subject. The cookie saves the computer-based outgoing visits to Internet pages.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, at any time, prevent the setting of cookies through our website by means of a corresponding setting of the Internet browser used, and thus permanently deny the setting of cookies. Such a setting of the Internet browser used would also prevent AddThis from setting a cookie on the information technology system of the data subject. Cookies may also be deleted by AddThis at any time via an Internet browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject also has the possibility of objecting permanently to the processing of personal data by AddThis. For this purpose, the data subject must click on the opt-out button under the link http://www.addthis.com/privacy/opt-out, which sets an opt-out cookie. The opt-out cookie used for this purpose is placed on the information technology system used by the data subject. If the data subject deletes the cookies from his system, then the data subject must call up the link again and set a new opt-out cookie. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With the setting of the opt-out cookie, however, the possibility exists that the websites of the controller are not fully usable anymore by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of AddThis may be accessed under http://www.addthis.com/privacy/privacy-policy.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;16. Data protection provisions about the application and use of Adobe Analytics (Omniture) / Adobe marketing cloud&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of the enterprise Adobe. Adobe Analytics (Omniture) and Adobe Marketing Cloud (hereinafter referred to as &amp;quot;Omniture&amp;quot;) is an instrument that allows for more efficient online marketing and web analysis. Omniture is part of Adobe Marketing Cloud. Adobe Marketing Cloud enables real-time analysis of visitor flows on Internet sites. The real-time analysis includes project reports and allows an ad-hoc analysis of site visitors. Customer interactions are presented in such a way as to give the controller a better overview of users&amp;#039; online activities of this website by displaying the data in simple and interactive dashboards and converting them into reports. This enables the controller to obtain information in real-time and to identify problems that occur more quickly.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company for these services is Adobe Systems Software Ireland Limited, 4-6 Riverwalk, Citywest Business Campus, Dublin 24, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Omniture sets a cookie on the information technology system of the data subject (cookies have already been explained in advance, which may be read above). The controller ensures that the tracking data transferred to the Adobe data center is anonymized prior to geolocation. The anonymization is implemented by replacing the last part of the IP address. The controller has made server-sided settings, which are used to anonymize the IP address of the data subject prior to processing for geolocation and range measurement. Adobe will use the data and information obtained via our website to analyze the user behavior of the data subject on behalf of the controller. Adobe will also use the data to create reports on user activity on our behalf, as well as provide other services to our enterprise related to the use of our website. The IP address of the data subject is not merged with other personal data by Adobe. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;As stated above, the data subject may, at any time, prevent the setting of cookies through our website by means of a corresponding setting of the Internet browser used, and thus permanently deny the setting of cookies. Such a setting of the Internet browser used would also prevent Omniture from setting a cookie on the information technology system of the data subject. Cookies may also be deleted by Omniture at any time via an Internet browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject also has the possibility of objecting to and preventing the collection of data generated by the Adobe cookie on the use of this website and the processing of this data by Adobe. For this purpose, the data subject must click on the opt-out button under the link http://www.adobe.com/de/privacy/opt-out.html, which sets an opt-out cookie. The opt-out cookie used for this purpose is placed on the information technology system used by the data subject. If the data subject deletes the cookies from his system, then the data subject must call up the link again and set a new opt-out cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With the setting of the opt-out cookie, however, the possibility exists that the websites of the controller are not fully usable anymore by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Adobe may be accessed under http://www.adobe.com/privacy.html.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;17. Data protection provisions about the application and use of Affilinet&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of the enterprise Affilinet. Affilinet is a German affiliate network, which offers affiliate marketing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Affiliate marketing is a web-based form of distribution, which allows commercial operators of Internet sites, the so-called merchants or advertisers, to show advertising, which will be paid mostly through click or sale commissions, on third-party Internet sites that are also called affiliates or publishers. The Merchant provides through the affiliate network an advertising medium, such as an advertising banner or other suitable means of Internet advertising, which is subsequently integrated by an affiliate on its own Internet pages or via other channels such as keyword advertising or e-mail marketing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Affilinet is the affilinet GmbH, Sapporobogen 6-8, 80637 München, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Affilinet sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. The tracking cookie by Affilinet stores no personal data. Only the identification number of the affiliate, that is, the partner mediating the potential customer, as well as the ordinal number of the visitor of a website and the clicked advertising medium are stored. The purpose of this data storage is the processing of commission payments between a merchant and affiliate, which are processed through the affiliate network, that is Affilinet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the Internet browser used and, thus, permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Affilinet from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Affilinet may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Affilinet may be accessed under https://www.affili.net/uk/footeritem/privacy-policy.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;18. Data protection provisions about the application and use of Econda&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of the enterprise Econda. Econda is a web analytics service. Web analytics is the collection, gathering and analysis of data about the behavior of visitors of the websites. A web analysis service captures, among other things, data pertaining to which website a person has arrived on via another website (the so-called referrer), which sub-site of the website was visited, or how often and for what duration a sub-site was viewed. Web analytics are mainly used for the optimization of a website in order to carry out a cost-benefit analysis of Internet advertising.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Econda is econda GmbH, Zimmerstraße 6, 76137 Karlsruhe, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Econda sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. With each call up to one of the individual pages of this Internet site, which is operated by the controller and on which an Econda component was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to transmit data for marketing and optimisation purposes to Econda through the Econda component. During the course of this technical procedure, Econda obtains data that is used to create pseudonymous user profiles. The user profiles created in such a way are used to analyze the behavior of the data subject who has accessed the website of the controller and are evaluated with the aim of improving and optimizing the website. The data collected via the Econda component is not used to identify the data subject without first obtaining separate and explicit consent from the data subject. These data will not be merged with personal data or with other data that contain the same pseudonym.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the Internet browser used, and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Econda from setting a cookie on the information technology system of the data subject. In addition, cookies already set by Econda may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the possibility of objecting to a collection of data relating to a use of this Internet site that are generated by the Econda cookie as well as the processing of these data by Econda and the chance to preclude any such. For this purpose, the data subject must press the ‘submit&amp;#039; button under the link http://www.econda.com/econda/enterprise/data-protection/revocation-of-data-storage/, which sets the opt-out cookie. The opt-out cookie used for this purpose is placed on the information technology system used by the data subject. If the cookies are deleted from the system of the data subject, then the data subject must call up the link again and set a new opt-out cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With the setting of the opt-out cookie, however, the possibility exists that the websites of the controller are not fully usable anymore by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Econda may be accessed under http://www.econda.com/econda/enterprise/data-protection/data-privacy-statement/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;19. Data protection provisions about the application and use of Etracker&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of the enterprise Etracker. Etracker is a Web analytics service. Web analytics is the collection, gathering and analysis of data about the behavior of visitors to websites. A web analysis service captures, among other things, data about from which website a person has arrived on another website (the so-called referrer), which sub-sites of the website were visited or how often and for what duration a sub-site was viewed. Web analytics are mainly used for the optimization of a website and in order to carry out a cost-benefit analysis of Internet advertising.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Etracker is etracker GmbH, Erste Brunnenstraße 1, 20459 Hamburg, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Etracker sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. With each call-up to one of the individual pages of this Internet site, which is operated by the controller and into which an Etracker component was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to transmit data for marketing and optimisation purposes to Etracker through the Etracker component. During the course of this technical procedure Etracker receives data that is used to create pseudonymous user profiles. The user profiles created in such a way are used for the analysis of the behaviour of the data subject, which has accessed Internet page of the controller and are evaluated with the aim of improving and optimizing the website. The data collected through the Etracker component is not used without first obtaining of a separate and explicit consent of the data subject to identify the data subject. This data is not merged with personal data or other data which contain the same pseudonym.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, at any time prevent the setting of cookies through our website by means of a corresponding adjustment of the Internet browser used and, permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Etracker from setting a cookie on the information technology system of the data subject. In addition, cookies already set by Etracker may be deleted at any time via a Web browser or other software programs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the possibility of objecting to a collection of data relating to a use of this Internet site that are generated by the Etracker cookie as well as the processing of these data by Etracker and the chance to preclude such. For this purpose, the data subject must press the ‘cookie-set’ button under the link http://www.etracker.de/privacy?sid=58e31c864e66848984dfc79b8f6b51a9&amp;amp;id=privacy&amp;amp;et=V23Jbb&amp;amp;languageId=2, which sets an opt-out cookie. The opt-out cookie used for this purpose is placed on the information technology system used by the data subject. If the cookies are deleted from the system of the data subject, then the data subject must call up the link again and set a new opt-out cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With the setting of the opt-out cookie, however, the possibility exists that the websites of the controller are not fully usable anymore by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Etracker may be accessed under https://www.etracker.com/de/datenschutz.html.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;20. Data protection provisions about the application and use of Facebook&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of the enterprise Facebook. Facebook is a social network.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A social network is a place for social meetings on the Internet, an online community, which usually allows users to communicate with each other and interact in a virtual space. A social network may serve as a platform for the exchange of opinions and experiences, or enable the Internet community to provide personal or business-related information. Facebook allows social network users to include the creation of private profiles, upload photos, and network through friend requests.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Facebook is Facebook, Inc., 1 Hacker Way, Menlo Park, CA 94025, United States. If a person lives outside of the United States or Canada, the controller is the Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to one of the individual pages of this Internet website, which is operated by the controller and into which a Facebook component (Facebook plug-ins) was integrated, the web browser on the information technology system of the data subject is automatically prompted to download display of the corresponding Facebook component from Facebook through the Facebook component. An overview of all the Facebook Plug-ins may be accessed under https://developers.facebook.com/docs/plugins/. During the course of this technical procedure, Facebook is made aware of what specific sub-site of our website was visited by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject is logged in at the same time on Facebook, Facebook detects with every call-up to our website by the data subject—and for the entire duration of their stay on our Internet site—which specific sub-site of our Internet page was visited by the data subject. This information is collected through the Facebook component and associated with the respective Facebook account of the data subject. If the data subject clicks on one of the Facebook buttons integrated into our website, e.g. the &amp;quot;Like&amp;quot; button, or if the data subject submits a comment, then Facebook matches this information with the personal Facebook user account of the data subject and stores the personal data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Facebook always receives, through the Facebook component, information about a visit to our website by the data subject, whenever the data subject is logged in at the same time on Facebook during the time of the call-up to our website. This occurs regardless of whether the data subject clicks on the Facebook component or not. If such a transmission of information to Facebook is not desirable for the data subject, then he or she may prevent this by logging off from their Facebook account before a call-up to our website is made.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data protection guideline published by Facebook, which is available at https://facebook.com/about/privacy/, provides information about the collection, processing and use of personal data by Facebook. In addition, it is explained there what setting options Facebook offers to protect the privacy of the data subject. In addition, different configuration options are made available to allow the elimination of data transmission to Facebook. These applications may be used by the data subject to eliminate a data transmission to Facebook.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;21. Data protection provisions about the application and use of Flattr&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of the enterprise Flattr. Flattr is a social payment service from Sweden, which allows the user to distribute donations to media providers on the Internet through deposits on a credit account and by the provision of a monthly budget. The users of the service may instruct Flattr, by clicking on a Flattr button that is integrated on the website of a media provider, to distribute its fixed monthly budget to this media provider.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Flattr is Flattr AB, Box 4111, 203 12 Malmo, Sweden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to one of the individual pages of this Internet site, which is operated by the controller and into which a Flattr component was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to download a display of the corresponding Flattr component from Flattr through the Flattr component. During the course of this technical procedure, Flattr is made aware of what specific sub-sites of our website are visited by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject is logged in at the same time at Flattr, Flattr detects with each call-up to our website by the data subject—and for the entire duration of their stay on our Internet site—what specific sub-site of our Internet page was visited by the data subject. This information is collected by the Flattr component and associated with the respective Flattr account of the data subject. If the data subject clicks on the Flattr button integrated into our website, then this information is transmitted to Flattr for billing purposes. The data subject has already agreed to the transmission of such information towards Flattr.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the applicable data protection provisions of Flattr may be retrieved under https://flattr.com/privacy.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;22. Data protection provisions about the application and use of functions of the Amazon Partner program&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated Amazon components as a participant in the Amazon partner program. The Amazon components were created by Amazon with the aim to mediate customers through advertisements on various websites of the Amazon group, in particular Amazon.co.uk, Local.Amazon.co.uk, Amazon.de, BuyVIP.com, Amazon.fr, Amazon.it and Amazon.es in return for the payment of a commission. By using the Amazon components, the controller may generate advertising revenue.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of this Amazon component is Amazon EU S.à.r.l, 5 Rue Plaetis, L-2338 Luxembourg, Luxembourg.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Amazon sets a cookie the information technology system of the data subject. The definition of cookies is explained above. With each single call-up to one of the individual pages of this Internet website, which is operated by the controller and in which an Amazon component was integrated, the Internet browser on the information technology system of the data subject will automatically submit data for the purpose of online advertising and the settlement of commissions to Amazon through the respective Amazon component. During the course of this technical procedure, Amazon receives personal information that is used to trace the origin of orders from Amazon, and as a result, to allow the accounting of a commission. Among other things, Amazon may understand that the data subject has clicked on an affiliate link on our website.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used, and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Amazon from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Amazon may be deleted at anytime via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the actual data protection provisions of Amazon may be retrieved under https://www.amazon.de/gp/help/customer/display.html?nodeId=3312401&amp;amp;language=en_GB.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;23. Data protection provisions about the application and use of functions pertaining to the collection society WORT (VG WORT)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated a tracking pixel. A tracking pixel is a thumbnail image that is embedded in web pages to enable a log file recording and a log file analysis so that a statistical analysis may be performed. The integrated tracking pixels serve the Scalable Central Measurement System (SZMS) of the collecting society WORT (VG Wort).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The Scalable Central Measurement System is operated by INFOnline GmbH, Brühler Str. 9, 53119 Bonn, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The Scalable Central Measurement System is used to determine with statistical key figures, the probability of the copying of texts. The embedded tracking pixel ensures that the collecting society WORT may detect whether, when, and how various users (including the data subject) opened our website and what content was retrieved.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data obtained using the Scalable Central Measurement System is collected anonymously. To capture the traffic, either a so-called session cookie is created for the purpose of recognition of the users of a website, that is a signature, which consists of various automatically transmitted information, or alternative methods are used. The IP address of the Internet connection used by the data subject is collected only in anonymised form and processed. The data subject is not identified at any time.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus contradict the setting of cookies permanently. Such an adjustment to the Internet browser used would also prevent VG Wort from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by VG Wort may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the possibility of objecting to a collection of data generated by VG Wort related to the use of this website, as well as to the processing of these data through VG Wort and the chance to preclude any such. For this purpose, the data subject must press the ‘opt-out’ button under the link http://optout.ioam.de, which sets an opt-out cookie. The opt-out cookie used for this purpose is placed on the information technology system used by the data subject. If the cookies are deleted on the system of the data subject, then the data subject must call up the link again and set a new opt-out cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With the setting of the opt-out cookie, however, the possibility exists that the websites of the controller are not fully usable anymore by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of INFOnline may be accessed under https://www.infonline.de/datenschutz/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;24. Data protection provisions about the application and use of Getty Images Photos&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of the enterprise Getty Images. Getty Images is an American picture agency. A picture agency is an enterprise which provides images and other image material on the market. Generally, picture agencies market photographs, illustrations and footage. A picture agency licenses different customers, in particular Internet website operators, editors of print and television media and advertising agencies, the images used by them.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of the Getty Images components is Getty Images International, 1st floor, The Herbert Building, The Park, Carrickmines, Dublin 18, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Getty Images allows the embedding of stock images (where possibly free of charge). Embedding is the inclusion or integration of any specific foreign content, e.g. text, video or image data provided by a foreign website, and then appears on the own website. A so-called embedded code is used to embed. An embedded code is an HTML code that is integrated into a website from a website owner. When an embedded code is integrated by a website owner, the external content of the other website is displayed by default immediately, as long as a website is visited. To display third-party content, the external content is loaded directly from the other Internet site. Getty Images provides further information about the embedded of content under http://www.gettyimages.de/resources/embed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Through the technical implementation of the embedded code, which allows the image display of the images of Getty Images, the IP address of the Internet connection, through which the data subject accesses our website, is transmitted to Getty Images. Further, Getty Images collects our website, browser type, browser language, and time and length of access. In addition, Getty Images may collect navigation information, which is information about which of our subpages have been visited by the data subject and which links have been clicked on, as well as other interactions that the data subject has carried out when visiting our website. This data may be stored and analyzed by Getty Images.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the applicable data protection provisions of Getty Images may be retrieved under https://www.gettyimages.de/company/privacy-policy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;25. Data protection provisions about the application and use of Google AdSense&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated Google AdSense. Google AdSense is an online service which allows the placement of advertising on third-party sites. Google AdSense is based on an algorithm that selects advertisements displayed on third-party sites to match with the content of the respective third-party site. Google AdSense allows an interest-based targeting of the Internet user, which is implemented by means of generating individual user profiles. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Google&amp;#039;s AdSense component is Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The purpose of Google&amp;#039;s AdSense component is the integration of advertisements on our website. Google AdSense places a cookie on the information technology system of the data subject. The definition of cookies is explained above. With the setting of the cookie, Alphabet Inc. is enabled to analyze the use of our website. With each call-up to one of the individual pages of this Internet site, which is operated by the controller and into which a Google AdSense component is integrated, the Internet browser on the information technology system of the data subject will automatically submit data through the Google AdSense component for the purpose of online advertising and the settlement of commissions to Alphabet Inc. During the course of this technical procedure, the enterprise Alphabet Inc. gains knowledge of personal data, such as the IP address of the data subject, which serves Alphabet Inc., inter alia, to understand the origin of visitors and clicks and subsequently create commission settlements.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Alphabet Inc. from setting a cookie on the information technology system of the data subject. Additionally, cookies already in use by Alphabet Inc. may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Furthermore, Google AdSense also uses so-called tracking pixels. A tracking pixel is a miniature graphic that is embedded in web pages to enable a log file recording and a log file analysis through which a statistical analysis may be performed. Based on the embedded tracking pixels, Alphabet Inc. is able to determine if and when a website was opened by a data subject, and which links were clicked on by the data subject. Tracking pixels serve, inter alia, to analyze the flow of visitors on a website.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Through Google AdSense, personal data and information—which also includes the IP address, and is necessary for the collection and accounting of the displayed advertisements—is transmitted to Alphabet Inc. in the United States of America. These personal data will be stored and processed in the United States of America. The Alphabet Inc. may disclose the collected personal data through this technical procedure to third parties.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Google AdSense is further explained under the following link https://www.google.com/intl/en/adsense/start/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;26. Data protection provisions about the application and use of Google Analytics (with anonymization function)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated the component of Google Analytics (with the anonymizer function). Google Analytics is a web analytics service. Web analytics is the collection, gathering, and analysis of data about the behavior of visitors to websites. A web analysis service collects, inter alia, data about the website from which a person has come (the so-called referrer), which sub-pages were visited, or how often and for what duration a sub-page was viewed. Web analytics are mainly used for the optimization of a website and in order to carry out a cost-benefit analysis of Internet advertising.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operator of the Google Analytics component is Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For the web analytics through Google Analytics the controller uses the application &amp;quot;_gat. _anonymizeIp&amp;quot;. By means of this application the IP address of the Internet connection of the data subject is abridged by Google and anonymised when accessing our websites from a Member State of the European Union or another Contracting State to the Agreement on the European Economic Area.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The purpose of the Google Analytics component is to analyze the traffic on our website. Google uses the collected data and information, inter alia, to evaluate the use of our website and to provide online reports, which show the activities on our websites, and to provide other services concerning the use of our Internet site for us.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Google Analytics places a cookie on the information technology system of the data subject. The definition of cookies is explained above. With the setting of the cookie, Google is enabled to analyze the use of our website. With each call-up to one of the individual pages of this Internet site, which is operated by the controller and into which a Google Analytics component was integrated, the Internet browser on the information technology system of the data subject will automatically submit data through the Google Analytics component for the purpose of online advertising and the settlement of commissions to Google. During the course of this technical procedure, the enterprise Google gains knowledge of personal information, such as the IP address of the data subject, which serves Google, inter alia, to understand the origin of visitors and clicks, and subsequently create commission settlements.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The cookie is used to store personal information, such as the access time, the location from which the access was made, and the frequency of visits of our website by the data subject. With each visit to our Internet site, such personal data, including the IP address of the Internet access used by the data subject, will be transmitted to Google in the United States of America. These personal data are stored by Google in the United States of America. Google may pass these personal data collected through the technical procedure to third parties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Google Analytics from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Google Analytics may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the possibility of objecting to a collection of data that are generated by Google Analytics, which is related to the use of this website, as well as the processing of this data by Google and the chance to preclude any such. For this purpose, the data subject must download a browser add-on under the link https://tools.google.com/dlpage/gaoptout and install it. This browser add-on tells Google Analytics through a JavaScript, that any data and information about the visits of Internet pages may not be transmitted to Google Analytics. The installation of the browser add-ons is considered an objection by Google. If the information technology system of the data subject is later deleted, formatted, or newly installed, then the data subject must reinstall the browser add-ons to disable Google Analytics. If the browser add-on was uninstalled by the data subject or any other person who is attributable to their sphere of competence, or is disabled, it is possible to execute the reinstallation or reactivation of the browser add-ons.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the applicable data protection provisions of Google may be retrieved under https://www.google.com/intl/en/policies/privacy/ and under http://www.google.com/analytics/terms/us.html. Google Analytics is further explained under the following Link https://www.google.com/analytics/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;27. Data protection provisions about the application and use of Google Remarketing&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated Google Remarketing services. Google Remarketing is a feature of Google AdWords, which allows an enterprise to display advertising to Internet users who have previously resided on the enterprise&amp;#039;s Internet site. The integration of Google Remarketing therefore allows an enterprise to create user-based advertising and thus shows relevant advertisements to interested Internet users.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of the Google Remarketing services is the Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The purpose of Google Remarketing is the insertion of interest-relevant advertising. Google Remarketing allows us to display ads on the Google network or on other websites, which are based on individual needs and matched to the interests of Internet users.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Google Remarketing sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. With the setting of the cookie, Google enables a recognition of the visitor of our website if he calls up consecutive web pages, which are also a member of the Google advertising network. With each call-up to an Internet site on which the service has been integrated by Google Remarketing, the web browser of the data subject identifies automatically with Google. During the course of this technical procedure, Google receives personal information, such as the IP address or the surfing behaviour of the user, which Google uses, inter alia, for the insertion of interest relevant advertising.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The cookie is used to store personal information, e.g. the Internet pages visited by the data subject. Each time we visit our Internet pages, personal data, including the IP address of the Internet access used by the data subject, is transmitted to Google in the United States of America. These personal data are stored by Google in the United States of America. Google may pass these personal data collected through the technical procedure to third parties.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Google from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Google may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the possibility of objecting to the interest-based advertising by Google. For this purpose, the data subject must call up the link to www.google.de/settings/ads and make the desired settings on each Internet browser used by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the actual data protection provisions of Google may be retrieved under https://www.google.com/intl/en/policies/privacy/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;28. Data protection provisions about the application and use of Google+&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated the Google+ button as a component. Google+ is a so-called social network. A social network is a social meeting place on the Internet, an online community, which usually allows users to communicate with each other and interact in a virtual space. A social network may serve as a platform for the exchange of opinions and experiences, or enable the Internet community to provide personal or business-related information. Google+ allows users of the social network to include the creation of private profiles, upload photos and network through friend requests.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Google+ is Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to one of the individual pages of this website, which is operated by the controller and on which a Google+ button has been integrated, the Internet browser on the information technology system of the data subject automatically downloads a display of the corresponding Google+ button of Google through the respective Google+ button component. During the course of this technical procedure, Google is made aware of what specific sub-page of our website was visited by the data subject. More detailed information about Google+ is available under https://developers.google.com/+/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject is logged in at the same time to Google+, Google recognizes with each call-up to our website by the data subject and for the entire duration of his or her stay on our Internet site, which specific sub-pages of our Internet page were visited by the data subject. This information is collected through the Google+ button and Google matches this with the respective Google+ account associated with the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject clicks on the Google+ button integrated on our website and thus gives a Google+ 1 recommendation, then Google assigns this information to the personal Google+ user account of the data subject and stores the personal data. Google stores the Google+ 1 recommendation of the data subject, making it publicly available in accordance with the terms and conditions accepted by the data subject in this regard. Subsequently, a Google+ 1 recommendation given by the data subject on this website together with other personal data, such as the Google+ account name used by the data subject and the stored photo, is stored and processed on other Google services, such as search-engine results of the Google search engine, the Google account of the data subject or in other places, e.g. on Internet pages, or in relation to advertisements. Google is also able to link the visit to this website with other personal data stored on Google. Google further records this personal information with the purpose of improving or optimizing the various Google services.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Through the Google+ button, Google receives information that the data subject visited our website, if the data subject at the time of the call-up to our website is logged in to Google+. This occurs regardless of whether the data subject clicks or doesn’t click on the Google+ button.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject does not wish to transmit personal data to Google, he or she may prevent such transmission by logging out of his Google+ account before calling up our website.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the data protection provisions of Google may be retrieved under https://www.google.com/intl/en/policies/privacy/. More references from Google about the Google+ 1 button may be obtained under https://developers.google.com/+/web/buttons-policy.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;29. Data protection provisions about the application and use of Google-AdWords&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated Google AdWords. Google AdWords is a service for Internet advertising that allows the advertiser to place ads in Google search engine results and the Google advertising network. Google AdWords allows an advertiser to pre-define specific keywords with the help of which an ad on Google&amp;#039;s search results only then displayed, when the user utilizes the search engine to retrieve a keyword-relevant search result. In the Google Advertising Network, the ads are distributed on relevant web pages using an automatic algorithm, taking into account the previously defined keywords.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Google AdWords is Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The purpose of Google AdWords is the promotion of our website by the inclusion of relevant advertising on the websites of third parties and in the search engine results of the search engine Google and an insertion of third-party advertising on our website.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If a data subject reaches our website via a Google ad, a conversion cookie is filed on the information technology system of the data subject through Google. The definition of cookies is explained above. A conversion cookie loses its validity after 30 days and is not used to identify the data subject. If the cookie has not expired, the conversion cookie is used to check whether certain sub-pages, e.g, the shopping cart from an online shop system, were called up on our website. Through the conversion cookie, both Google and the controller can understand whether a person who reached an AdWords ad on our website generated sales, that is, executed or canceled a sale of goods.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data and information collected through the use of the conversion cookie is used by Google to create visit statistics for our website. These visit statistics are used in order to determine the total number of users who have been served through AdWords ads to ascertain the success or failure of each AdWords ad and to optimize our AdWords ads in the future. Neither our company nor other Google AdWords advertisers receive information from Google that could identify the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The conversion cookie stores personal information, e.g. the Internet pages visited by the data subject. Each time we visit our Internet pages, personal data, including the IP address of the Internet access used by the data subject, is transmitted to Google in the United States of America. These personal data are stored by Google in the United States of America. Google may pass these personal data collected through the technical procedure to third parties.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, at any time, prevent the setting of cookies by our website, as stated above, by means of a corresponding setting of the Internet browser used and thus permanently deny the setting of cookies. Such a setting of the Internet browser used would also prevent Google from placing a conversion cookie on the information technology system of the data subject. In addition, a cookie set by Google AdWords may be deleted at any time via the Internet browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject has a possibility of objecting to the interest based advertisement of Google. Therefore, the data subject must access from each of the browsers in use the link www.google.de/settings/ads and set the desired settings.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the applicable data protection provisions of Google may be retrieved under https://www.google.com/intl/en/policies/privacy/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;30. Data protection provisions about the application and use of Instagram&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of the service Instagram. Instagram is a service that may be qualified as an audiovisual platform, which allows users to share photos and videos, as well as disseminate such data in other social networks.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of the services offered by Instagram is Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2 Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to one of the individual pages of this Internet site, which is operated by the controller and on which an Instagram component (Insta button) was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to the download of a display of the corresponding Instagram component of Instagram. During the course of this technical procedure, Instagram becomes aware of what specific sub-page of our website was visited by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject is logged in at the same time on Instagram, Instagram detects with every call-up to our website by the data subject—and for the entire duration of their stay on our Internet site—which specific sub-page of our Internet page was visited by the data subject. This information is collected through the Instagram component and is associated with the respective Instagram account of the data subject. If the data subject clicks on one of the Instagram buttons integrated on our website, then Instagram matches this information with the personal Instagram user account of the data subject and stores the personal data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Instagram receives information via the Instagram component that the data subject has visited our website provided that the data subject is logged in at Instagram at the time of the call to our website. This occurs regardless of whether the person clicks on the Instagram button or not. If such a transmission of information to Instagram is not desirable for the data subject, then he or she can prevent this by logging off from their Instagram account before a call-up to our website is made.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the applicable data protection provisions of Instagram may be retrieved under https://help.instagram.com/155833707900388 and https://www.instagram.com/about/legal/privacy/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;31. Data protection provisions about the application and use of Jetpack for WordPress&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated Jetpack. Jetpack is a WordPress plug-in, which provides additional features to the operator of a website based on WordPress. Jetpack allows the Internet site operator, inter alia, an overview of the visitors of the site. By displaying related posts and publications, or the ability to share content on the page, it is also possible to increase visitor numbers. In addition, security features are integrated into Jetpack, so a Jetpack-using site is better protected against brute-force attacks. Jetpack also optimizes and accelerates the loading of images on the website.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Jetpack Plug-Ins for WordPress is the Aut O’Mattic A8C Ireland Ltd., Business Centre, No.1 Lower Mayor Street, International Financial Services Centre, Dublin 1, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Jetpack sets a cookie on the information technology system used by the data subject. The definition of cookies is explained above. With each call-up to one of the individual pages of this Internet site, which is operated by the controller and on which a Jetpack component was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to submit data through the Jetpack component for analysis purposes to Automattic. During the course of this technical procedure Automattic receives data that is used to create an overview of website visits. The data obtained in this way serves the analysis of the behaviour of the data subject, which has access to the Internet page of the controller and is analyzed with the aim to optimize the website. The data collected through the Jetpack component is not used to identify the data subject without a prior obtaining of a separate express consent of the data subject. The data comes also to the notice of Quantcast. Quantcast uses the data for the same purposes as Automattic.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject can, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Automattic/Quantcast from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Automattic/Quantcast may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the possibility of objecting to a collection of data relating to a use of this Internet site that are generated by the Jetpack cookie as well as the processing of these data by Automattic/Quantcast and the chance to preclude any such. For this purpose, the data subject must press the ‘opt-out’ button under the link https://www.quantcast.com/opt-out/ which sets an opt-out cookie. The opt-out cookie set with this purpose is placed on the information technology system used by the data subject. If the cookies are deleted on the system of the data subject, then the data subject must call up the link again and set a new opt-out cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With the setting of the opt-out cookie, however, the possibility exists that the websites of the controller are not fully usable anymore by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Automattic may be accessed under https://automattic.com/privacy/. The applicable data protection provisions of Quantcast can be accessed under https://www.quantcast.com/privacy/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;32. Data protection provisions about the application and use of LinkedIn&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The controller has integrated components of the LinkedIn Corporation on this website. LinkedIn is a web-based social network that enables users with existing business contacts to connect and to make new business contacts. Over 400 million registered people in more than 200 countries use LinkedIn. Thus, LinkedIn is currently the largest platform for business contacts and one of the most visited websites in the world.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of LinkedIn is LinkedIn Corporation, 2029 Stierlin Court Mountain View, CA 94043, UNITED STATES. For privacy matters outside of the UNITED STATES LinkedIn Ireland, Privacy Policy Issues, Wilton Plaza, Wilton Place, Dublin 2, Ireland, is responsible.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to one of the individual pages of this Internet site, which is operated by the controller and on which a LinkedIn component (LinkedIn plug-in) was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to the download of a display of the corresponding LinkedIn component of LinkedIn. Further information about the LinkedIn plug-in may be accessed under https://developer.linkedin.com/plugins. During the course of this technical procedure, LinkedIn gains knowledge of what specific sub-page of our website was visited by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject is logged in at the same time on LinkedIn, LinkedIn detects with every call-up to our website by the data subject—and for the entire duration of their stay on our Internet site—which specific sub-page of our Internet page was visited by the data subject. This information is collected through the LinkedIn component and associated with the respective LinkedIn account of the data subject. If the data subject clicks on one of the LinkedIn buttons integrated on our website, then LinkedIn assigns this information to the personal LinkedIn user account of the data subject and stores the personal data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;LinkedIn receives information via the LinkedIn component that the data subject has visited our website, provided that the data subject is logged in at LinkedIn at the time of the call-up to our website. This occurs regardless of whether the person clicks on the LinkedIn button or not. If such a transmission of information to LinkedIn is not desirable for the data subject, then he or she may prevent this by logging off from their LinkedIn account before a call-up to our website is made.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;LinkedIn provides under https://www.linkedin.com/psettings/guest-controls the possibility to unsubscribe from e-mail messages, SMS messages and targeted ads, as well as the ability to manage ad settings. LinkedIn also uses affiliates such as Eire, Google Analytics, BlueKai, DoubleClick, Nielsen, Comscore, Eloqua, and Lotame. The setting of such cookies may be denied under https://www.linkedin.com/legal/cookie-policy. The applicable privacy policy for LinkedIn is available under https://www.linkedin.com/legal/privacy-policy. The LinkedIn Cookie Policy is available under https://www.linkedin.com/legal/cookie-policy.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;33. Data protection provisions about the application and use of LiveZilla&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated the LiveZilla component. LiveZilla is a live support help desk software that enables direct communication in real time (so-called live chat) with visitors of their own Internet page.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The developer of the LiveZilla component is LiveZilla GmbH, Byk-Gulden-Straße 18, 78224 Singen, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each single call-up to our website, which is equipped with a LiveZilla component, this component collects data with the purpose of operating the live chat system and analyzing the operation of the system. Further information about LiveZilla may be retrieved under http://www.livezilla.net/home/en/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The LiveZilla component sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. Pseudonymised user profiles may be created with the help of the LiveZilla cookie. Such pseudonymised usage profiles may be used by the controller to conduct an analysis of visitor behavior as well as analyze and maintain a proper operation of the live chat system. The analysis is also improving our offers. The data collected through the LiveZilla component is not used to identify the data subject without first obtaining of a separate express consent of the data subject. These data are not merged with personal data or other data which contain the same pseudonym.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent the LiveZilla component from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by the LiveZilla component may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of LiveZilla GmbH may be accessed under https://www.livezilla.net/disclaimer/en/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;34. Data protection provisions about the application and use of Myspace&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of MySpace LLC. MySpace is a so-called social network. A social network is an Internet social meeting place, an online community that allows users to communicate and interact with each other in a virtual space. A social network can serve as a platform for the exchange of opinions and experiences or allow the Internet community to provide personal or company-related information. MySpace allows users of the social network to create free blogs or groups of users, including photos and videos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of MySpace is Myspace LLC, 6100 Center Drive, Suite 800, 90045 Los Angeles, USA.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to one of the individual pages of this Internet site, which is operated by the controller and on which a MySpace component (MySpace plug-in) was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to the download through the respective MySpace component a display of the corresponding MySpace component of MySpace. Further information about MySpace is available under https://myspace.com. During the course of this technical procedure, MySpace gains knowledge of what specific sub-page of our website is visited by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject is logged in at the same time on MySpace, MySpace detects with every call-up to our website by the data subject—and for the entire duration of their stay on our Internet site—which specific sub-page of our Internet page was visited by the data subject. This information is collected through the MySpace component and associated with the respective MySpace account of the data subject. If the data subject clicks on one of the MySpace buttons, integrated on our website, then MySpace assigns this information with the personal MySpace user account of the data subject and stores the personal data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;MySpace receives information via the MySpace component that the data subject has visited our website, provided that the data subject is logged in at MySpace at the time of the call to our website. This occurs regardless of whether the person clicks on the MySpace component or not. If such a transmission of information to MySpace is not desirable for the data subject, then he or she may prevent this by logging off from their MySpace account before a call-up to our website is made.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data protection guideline published by MySpace, which is available under https://myspace.com/pages/privacy, provides information on the collection, processing and use of personal data by MySpace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;35. Data protection provisions about the application and use of Pinterest&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of Pinterest Inc. Pinterest is a so-called social network. A social network is an Internet social meeting place, an online community that allows users to communicate and interact with each other in a virtual space. A social network may serve as a platform for the exchange of opinions and experiences, or allow the Internet community to provide personal or company-related information. Pinterest enables the users of the social network to publish, inter alia, picture collections and individual pictures as well as descriptions on virtual pinboards (so-called pins), which can then be shared by other user&amp;#039;s (so-called re-pins) or commented on.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Pinterest is Pinterest Europe Ltd., Palmerston House, 2nd Floor, Fenian Street, Dublin 2,Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to one of the individual pages of this Internet site, which is operated by the controller and on which a Pinterest component (Pinterest plug-in) was integrated, the Internet browser on the information technology system of the data subject automatically prompted to download through the respective Pinterest component a display of the corresponding Pinterest component. Further information on Pinterest is available under https://pinterest.com/. During the course of this technical procedure, Pinterest gains knowledge of what specific sub-page of our website is visited by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject is logged in at the same time on Pinterest, Pinterest detects with every call-up to our website by the data subject—and for the entire duration of their stay on our Internet site—which specific sub-page of our Internet page was visited by the data subject. This information is collected through the Pinterest component and associated with the respective Pinterest account of the data subject. If the data subject clicks on one of the Pinterest buttons, integrated on our website, then Pinterest assigns this information to the personal Pinterest user account of the data subject and stores the personal data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Pinterest receives information via the Pinterest component that the data subject has visited our website, provided that the data subject is logged in at Pinterest at the time of the call-up to our website. This occurs regardless of whether the person clicks on the Pinterest component or not. If such a transmission of information to Pinterest is not desirable for the data subject, then he or she may prevent this by logging off from their Pinterest account before a call-up to our website is made.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data protection guideline published by Pinterest, which is available under https://about.pinterest.com/privacy-policy, provides information on the collection, processing and use of personal data by Pinterest.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;36. Data protection provisions about the application and use of Matomo&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated the Matomo component. Matomo is an open-source software tool for web analysis. Web analysis is the collection, gathering and evaluation of data on the behavior of visitors from Internet sites. A web analysis tool collects, inter alia, data on the website from which a data subject came to a website (so-called referrer), which pages of the website were accessed or how often and for which period of time a sub-page was viewed. A web analysis is mainly used for the optimization of a website and the cost-benefit analysis of Internet advertising.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The software is operated on the server of the controller, the data protection-sensitive log files are stored exclusively on this server.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The purpose of the Matomo component is the analysis of the visitor flows on our website. The controller uses the obtained data and information, inter alia, to evaluate the use of this website in order to compile online reports, which show the activities on our Internet pages.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Matomo sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. With the setting of the cookie, an analysis of the use of our website is enabled. With each call-up to one of the individual pages of this website, the Internet browser on the information technology system of the data subject is automatically through the Matomo component prompted to submit data for the purpose of online analysis to our server. During the course of this technical procedure, we obtain knowledge about personal information, such as the IP address of the data subject, which serves to understand the origin of visitors and clicks.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The cookie is used to store personal information, such as the access time, the location from which access was made, and the frequency of visits to our website. With each visit of our Internet pages, these personal data, including the IP address of the Internet access used by the data subject, are transferred to our server. These personal data will be stored by us. We do not forward this personal data to third parties.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the used Internet browser would also prevent Matomo from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Matomo may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the possibility of objecting to a collection of data relating to a use of this Internet site that are generated by Matomo as well as the processing of these data by Matomo and the chance to preclude any such. For this, the data subject must set a &amp;quot;Do Not Track&amp;quot; option in the browser.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each setting of the opt-out cookie, however, there is the possibility that the websites of the controller are no longer fully usable for the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the applicable data protection provisions of Matomo may be retrieved under https://matomo.org/privacy/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;37. Data protection provisions about the application and use of Shariff&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated the component of Shariff. The Shariff component provides social media buttons that are compliant with data protection. Shariff was developed for the German computer magazine c&amp;#039;t and is published by GitHub, Inc.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The developers of the component is GitHub, Inc. 88 Colin P. Kelly Junior Street, San Francisco, CA 94107, United States.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Typically, the button solutions provided by the social networks already transmits personal data to the respective social network, when a user visits a website in which a social media button was integrated. By using the Shariff component, personal data is only transferred to social networks, when the visitor actively activates one of the social media buttons. Further information on the Shariff component may be found in the computer magazine c&amp;#039;t under http://www.heise.de/newsticker/meldung/Datenschutz-und-Social-Media-Der-ct-Shariff-ist-im-Usatz-2470103. Html provided. The use of the Shariff component is intended to protect the personal data of the visitors of our website and to enable us to integrate a button solution for social networks on this website.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the applicable data protection provisions of GitHub are retrievable under https://help.github.com/articles/github-privacy-policy/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;38. Data protection provisions about the application and use of SlideShare&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated SlideShare components. LinkedIn SlideShare as a file hosting service allows you to exchange and archive presentations and other documents, such as PDF files, videos, and webinars. The file hosting service allows users to upload media content in all popular formats, with the documents either publicly-accessible or private-labeled.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of SlideShare is LinkedIn Ireland Unlimited Company, Wilton Plaza, Wilton Place, Dublin 2, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;LinkedIn SlideShare provides so-called embedded codes for the media content (e.g. presentations, PDF files, videos, photos, etc.) stored there. Embedded codes are program codes that are embedded in the Internet pages to display external content on their own website. Embedded codes allow content to be reproduced on its own website without storing it on its own server, possibly violating the right of reproduction of the respective author of the content. A further advantage of the use of an embedded code is that the respective operator of a website does not use its own storage space and the own server is thereby relieved. An embedded code may be integrated at any point on another website so that an external content may also be inserted within the own text. The purpose of using LinkedIn SlideShare is to relieve our server and to avoid copyright infringements, while at the same time using third-party content.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to our Internet site, which is equipped with a SlideShare component (embedded code), this component prompts the browser that you are using to download the according embedded data from SlideShare. During the course of this technical procedure, LinkedIn gains knowledge of which specific sub-page of our website is visited by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject is logged in on SlideShare at the same time, SlideShare recognizes with each call-up to our website by the data subject and for the entire duration of their stay on our Internet site which specific sub-page was visited by the data subject. This information is collected by SlideShare and assigned to the respective SlideShare account of the data subject through LinkedIn.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;LinkedIn obtains information via the SlideShare component that the data subject has visited our website, provided that the data subject is logged in at SlideShare at the time of the call-up to our website. This occurs regardless of whether the person clicks on the embedded media data or not. If such a transmission of information to SlideShare is not desirable for the data subject, then he or she may prevent this by logging off from their SlideShare account before a call-up to our website is made.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;LinkedIn also uses affiliates such as Eire, Google Analytics, BlueKai, DoubleClick, Nielsen, Comscore, Eloqua, and Lotame. The setting of such cookies may be denied under https://www.linkedin.com/legal/cookie-policy. The applicable data protection provisions for LinkedIn is available under https://www.linkedin.com/legal/privacy-policy.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;39. Data protection provisions about the application and use of Tumblr&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of Tumblr. Tumblr is a platform that allows users to create and run a blog. A blog is a web-based, generally publicly-accessible portal on which one or more people called bloggers or web bloggers may post articles or write down thoughts in so-called blogposts. For example, in a Tumblr blog the user can publish text, images, links, and videos, and spread them in the digital space. Furthermore, Tumblr users may import content from other websites into their own blog.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Tumblr is Oath (EMEA) Limited, 5-7 Point Square, North Wall Quay, Dublin 1, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Through each call to one of the individual pages of this Internet site, which is operated by the controller and on which a Tumblr component (Tumblr button) has been integrated, the Internet browser on the information technology system of the data subject causes automatically the download of a display of the corresponding Tumblr component of Tumblr. Learn more about the Tumblr-buttons that are available under https://www.tumblr.com/buttons. During the course of this technical procedure, Tumblr becomes aware of what concrete sub-page of our website was visited by the data subject. The purpose of the integration of the Tumblr component is a retransmission of the contents of this website to allow our users to introduce this web page to the digital world and to increase our visitor numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject is logged in at Tumblr, Tumblr detects with every call-up to our website by the data subject—and for the entire duration of their stay on our Internet site—which specific sub-page of our Internet page was visited by the data subject. This information is collected through the Tumblr component and associated with the respective Tumblr account of the data subject. If the data subject clicks on one of the Tumblr buttons, integrated on our website, then Tumblr assigns this information to the personal Tumblr user account of the data subject and stores the personal data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Tumblr receives information via the Tumblr component that the data subject has visited our website, provided that the data subject is logged in at Tumblr at the time of the call-up to our website. This occurs regardless of whether the person clicks on the Tumblr component or not. If such a transfer of information to Tumblr is not desirable for the data subject, then he or she may prevent this by logging off from their Tumblr account before a call-up to our website is made.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Tumblr may be accessed under https://www.tumblr.com/policy/en/privacy.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;40. Data protection provisions about the application and use of Twitter&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of Twitter. Twitter is a multilingual, publicly-accessible microblogging service on which users may publish and spread so-called ‘tweets,’ e.g. short messages, which are limited to 280 characters. These short messages are available for everyone, including those who are not logged on to Twitter. The tweets are also displayed to so-called followers of the respective user. Followers are other Twitter users who follow a user&amp;#039;s tweets. Furthermore, Twitter allows you to address a wide audience via hashtags, links or retweets.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Twitter is Twitter International Company, One Cumberland Place, Fenian Street Dublin 2, D02 AX07, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to one of the individual pages of this Internet site, which is operated by the controller and on which a Twitter component (Twitter button) was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to download a display of the corresponding Twitter component of Twitter. Further information about the Twitter buttons is available under https://about.twitter.com/de/resources/buttons. During the course of this technical procedure, Twitter gains knowledge of what specific sub-page of our website was visited by the data subject. The purpose of the integration of the Twitter component is a retransmission of the contents of this website to allow our users to introduce this web page to the digital world and increase our visitor numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject is logged in at the same time on Twitter, Twitter detects with every call-up to our website by the data subject and for the entire duration of their stay on our Internet site which specific sub-page of our Internet page was visited by the data subject. This information is collected through the Twitter component and associated with the respective Twitter account of the data subject. If the data subject clicks on one of the Twitter buttons integrated on our website, then Twitter assigns this information to the personal Twitter user account of the data subject and stores the personal data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Twitter receives information via the Twitter component that the data subject has visited our website, provided that the data subject is logged in on Twitter at the time of the call-up to our website. This occurs regardless of whether the person clicks on the Twitter component or not. If such a transmission of information to Twitter is not desirable for the data subject, then he or she may prevent this by logging off from their Twitter account before a call-up to our website is made.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Twitter may be accessed under https://twitter.com/privacy?lang=en.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;41. Data protection provisions about the application and use of Webtrekk&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components by Webtrekk. Webtrekk is a combination of analysis and marketing solutions in one system. Webtrekk allows the site operator to collect data on the use of the website, as well as individualize marketing activities.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Webtrekk is Webtrekk GmbH, Robert-Koch-Platz 4, 10115 Berlin, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to one of the individual pages of this Internet site, which is operated by the controller, Webtrekk collects data for marketing and optimisation purposes and stores them. The pseudonymized user profiles are used for the purpose of analyzing visitor behavior and enabling an improvement of our Internet offer. The data collected via the Webtrekk component are not used to identify the data subject without first obtaining a separate and explicit consent from the data subject. These data will not be merged with personal data or with other data which contains the same pseudonym.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Webtrekk sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. Webtrekk uses the data collected from our website and information on behalf of the controller to analyze user behaviour of the data subject, who has visited our website. In addition, Webtrekk uses the data to create reports on user activities on our behalf and provide other services for our enterprise, which are in relation to the usage of our website. The IP address of the data subject is not merged by Webtrekk with other personal information.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the used Internet browser would also prevent Webtrekk from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Webtrekk may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the possibility of objecting to a collection of data that are generated by the Webtrekk cookie, relating to a use of this Internet site, as well as the processing of these data by Webtrekk and the chance to preclude any such. To do this, the data subject must click a link under https://www.webtrekk.com/en/legal/opt-out-webtrekk/, which is an opt-out cookie. The opt-out cookie is placed onto the information technology system used by the data subject. If the data subject deletes the cookies on his system, then the data subject must call-up the link again and set a new opt-out cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With the setting of the opt-out cookie, however, the possibility exists that the websites of the controller are not fully usable anymore by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Webtrekk may be accessed under https://www.webtrekk.com/en/why-webtrekk/data-protection/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;42. Data protection provisions about the application and use of WiredMinds&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of WiredMinds. The WiredMinds components automatically recognize and qualify companies who visit a website. The WiredMinds component allows the operator of a website that uses the component to generate leads, thus qualifying potential new customers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of WiredMinds is WiredMinds GmbH, Lindenspürstraße 32, 70176 Stuttgart, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;We use a WiredMinds tracking pixel. A tracking pixel is a miniature graphic embedded in a web page to enable log file recording and log file analysis to subsequently perform a statistical analysis.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;WiredMinds also sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. The setting of the cookie enables us to analyze the usage of our website.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Using the data obtained, pseudonymized usage profiles are created. The pseudonymized usage profiles are used for the purpose of analyzing visitor behavior and enabling an improvement of our Internet offer. Data collected through the WiredMinds component are not used to identify the data subject without first obtaining a separate and explicit consent from the data subject. These data will not be merged with personal data or with other data which contains the same pseudonym.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to one of the individual pages of this website, the Internet browser on the information technology system of the data subject is automatically prompted to submit data for the purpose of online analysis the WiredMinds component. During the course of this technical procedure, WiredMinds gains knowledge of personal information, such as the IP address, which inter alia, serves to understand the origin of visitors and clicks.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The cookie is used to store personal information, such as the access time, the location from which access was made, and the frequency of visits to our website. With each visit of our Internet pages, these personal data, including the IP address of the Internet access used by the data subject, are transferred to the WiredMinds server. These personal data are stored by WiredMinds, but are not forwarded to third parties.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent WiredMinds from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by WiredMinds may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the possibility of objecting to the collection of data relating to a use of this site that are generated by WiredMinds and the chance to preclude any such. For this purpose, the data subject must click the ‘don’t-track-my-visits&amp;#039; button under the link https://wm.wiredminds.de/track/cookie_mgr.php?mode=dont_track_ask&amp;amp;websitesel. If the information technology system of the data subject is later deleted, formatted or reinstalled, then the data subject must again set an opt-out cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the applicable data protection provisions of WiredMinds may be retrieved under https://www.wiredminds.de/1/data-protection-report/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;43. Data protection provisions about the application and use of Xing&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of XING. XING is an Internet-based social network that enables users to connect with existing business contacts and to create new business contacts. The individual users can create a personal profile of themselves at XING. Companies may, e.g. create company profiles or publish jobs on XING.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of XING is XING SE, Dammtorstraße 30, 20354 Hamburg, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to one of the individual pages of this Internet site, which is operated by the controller and on which a XING component (XING plug-in) was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to download a display of the corresponding XING component of XING. Further information about the XING plug-in the may be accessed under https://dev.xing.com/plugins. During the course of this technical procedure, XING gains knowledge of what specific sub-page of our website was visited by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject is logged in at the same time on XING, XING detects with every call-up to our website by the data subject—and for the entire duration of their stay on our Internet site—which specific sub-page of our Internet page was visited by the data subject. This information is collected through the XING component and associated with the respective XING account of the data subject. If the data subject clicks on the XING button integrated on our Internet site, e.g. the &amp;quot;Share&amp;quot;-button, then XING assigns this information to the personal XING user account of the data subject and stores the personal data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;XING receives information via the XING component that the data subject has visited our website, provided that the data subject is logged in at XING at the time of the call to our website. This occurs regardless of whether the person clicks on the XING component or not. If such a transmission of information to XING is not desirable for the data subject, then he or she can prevent this by logging off from their XING account before a call-up to our website is made.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data protection provisions published by XING, which is available under https://www.xing.com/privacy, provide information on the collection, processing and use of personal data by XING. In addition, XING has published privacy notices for the XING share button under https://www.xing.com/app/share?op=data_protection.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;44. Data protection provisions about the application and use of YouTube&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of YouTube. YouTube is an Internet video portal that enables video publishers to set video clips and other users free of charge, which also provides free viewing, review and commenting on them. YouTube allows you to publish all kinds of videos, so you can access both full movies and TV broadcasts, as well as music videos, trailers, and videos made by users via the Internet portal.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of YouTube is Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to one of the individual pages of this Internet site, which is operated by the controller and on which a YouTube component (YouTube video) was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to download a display of the corresponding YouTube component. Further information about YouTube may be obtained under https://www.youtube.com/yt/about/en/. During the course of this technical procedure, YouTube and Google gain knowledge of what specific sub-page of our website was visited by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject is logged in on YouTube, YouTube recognizes with each call-up to a sub-page that contains a YouTube video, which specific sub-page of our Internet site was visited by the data subject. This information is collected by YouTube and Google and assigned to the respective YouTube account of the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;YouTube and Google will receive information through the YouTube component that the data subject has visited our website, if the data subject at the time of the call to our website is logged in on YouTube; this occurs regardless of whether the person clicks on a YouTube video or not. If such a transmission of this information to YouTube and Google is not desirable for the data subject, the delivery may be prevented if the data subject logs off from their own YouTube account before a call-up to our website is made.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;YouTube&amp;#039;s data protection provisions, available at https://www.google.com/intl/en/policies/privacy/, provide information about the collection, processing and use of personal data by YouTube and Google.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;45. Data protection provisions about the application and use of the scalable and central measuring system of the INFOnline GmbH&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the data controller has integrated a tracking pixel for real-time measurement. A tracking pixel is a miniature graphic embedded in Internet pages to enable log file recording and log file analysis to subsequently perform a statistical analysis. The integrated tracking pixels are used for the Scalable Central Measurement System (SZMS) of INFOnline GmbH.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The Scalable Central Measurement System is operated by INFOnline GmbH, Forum Bonn Nord, Brühler Str. 9, 53119 Bonn, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The Scalable Central Measurement System is used to determine statistical ratios, that is, the realm range measurement. The embedded tracking pixel is used to determine if, when and by how many users (including the dataa subject) our website was opened and what content was retrieved.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data obtained by means of the Scalable Central Measurement System are collected anonymously. In order to detect the access numbers, a so-called session cookie is set up for the purpose of the recognition of the website users, e.g. a signature is made which consists of various automatically-transmitted information, or uses alternative methods. The IP address of the Internet used by the data subject is collected and processed in an anonymous form only. The data subject is not identified at any time.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent INFOnline from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by INFOnline may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the possibility of objecting to the collection of data relating to a use of this site that are generated by INFOnline and the chance to preclude any such. For this purpose, the data subject must press the ‘opt-out’ button under the link http://optout.ioam.de which uses an opt-out cookie. If the cookies are deleted on the system of the data subject, then the data subject must call up the link again and set a new opt-out cookie. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With the setting of the opt-out cookie, however, the possibility exists that the websites of the controller are not fully usable anymore by the data subject. The applicable data protection provisions of INFOnline may be accessed at https://www.infonline.de/datenschutz/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;46. Data protection provisions about the application and use of DoubleClick&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of DoubleClick by Google. DoubleClick is a trademark of Google, under which predominantly special online marketing solutions are marketed to advertising agencies and publishers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of DoubleClick by Google is Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;DoubleClick by Google transmits data to the DoubleClick server with each impression, clicks, or other activity. Each of these data transfers triggers a cookie request to the data subject&amp;#039;s browser. If the browser accepts this request, DoubleClick uses a cookie on the information technology system of the data subject. The definition of cookies is explained above. The purpose of the cookie is the optimization and display of advertising. The cookie is used, inter alia, to display and place user-relevant advertising as well as to create or improve reports on advertising campaigns. Furthermore, the cookie serves to avoid multiple display of the same advertisement.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;DoubleClick uses a cookie ID that is required to execute the technical process. For example, the cookie ID is required to display an advertisement in a browser. DoubleClick may also use the Cookie ID to record which advertisements have already been displayed in a browser in order to avoid duplications. It is also possible for DoubleClick to track conversions through the cookie ID. For instance, conversions are captured, when a user has previously been shown a DoubleClick advertising ad, and he or she subsequently makes a purchase on the advertiser&amp;#039;s website using the same Internet browser.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A cookie from DoubleClick does not contain any personal data. However, a DoubleClick cookie may contain additional campaign IDs. A campaign ID is used to identify campaigns that the user has already been in contact with.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to one of the individual pages of this website, which is operated by the controller and on which a DoubleClick component was integrated, the Internet browser on the information technology system of the data subject is automatically prompted by the respective DoubleClick component to send data for the purpose of online advertising and billing of commissions to Google. During the course of this technical procedure, Google gains knowledge of any data that Google may use to create commission calculations. Google may, inter alia, understand that the data subject has clicked on certain links on our website.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Google from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Google may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the applicable data protection provisions of DoubleClick may be retrieved under DoubleClick by Google https://www.google.com/intl/en/policies/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;47. Data protection provisions about the application and use of Awin&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components by Awin. Awin is a German affiliate network that offers affiliate marketing. Affiliate marketing is an Internet-based sales form that enables commercial operators of Internet sites, the so-called merchants or advertisers, to place advertising that is usually paid via click or sale commissions on third-party websites, also called affiliates or publishers (e.g. sales partners). The merchant provides, through the affiliate network, an advertising medium, e.g. an advertising banner or other suitable means of Internet advertising, which is subsequently integrated by an affiliate on their own Internet pages or promoted via other channels, such as keyword advertising or e-marketing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Awin is Awin AG, Eichhornstraße 3, 10785 Berlin, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Awin sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. The tracking cookie of Awin does not store any personal data. Only the identification number of the affiliate, that is, the partner mediating the potential customer, as well as the ordinal number of the visitor of a website and the clicked advertising medium are stored. The purpose of storing this data is the processing of commission payments between a merchant and affiliate, which are processed via the affiliate network, that is Awin.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Awin from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Awin may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Awin may be retrieved under http://www.Awin.com/us/about-Awin/privacy/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;48. Data protection provisions about the application and use of Adcell&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of AdCell. AdCell is a German affiliate network, which offers affiliate marketing. Affiliate marketing is an Internet-based sales form that enables commercial operators of Internet sites, the so-called merchants or advertisers, to place advertising that is usually paid via click or sale commissions on third-party websites, e.g. sales partners, also called affiliates or publishers. The merchant provides, through the affiliate network, an advertising medium, e.g. an advertising banner or other suitable means of Internet advertising, which is subsequently integrated by an affiliate on their own Internet pages or promoted via other channels, such as keyword advertising or e-marketing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of AdCell is Firstlead GmbH, Rosenfelder St. 15-16, 10315 Berlin, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;AdCell sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. The tracking cookie of AdCell stores no personal data. Only the identification number of the affiliate, that is, the partner mediating the potential customer, as well as the ordinal number of the visitor of a website and the clicked advertising medium are stored. The purpose of storing this data is the processing of commission payments between a merchant and affiliate, which are processed via the affiliate network, that is AdCell.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser use and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent AdCell from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by AdCell may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of AdCell may be retrieved under https://www.adcell.de/agb.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;49. Data protection provisions about the application and use of Belboon&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components by Belboon. Belboon is a German affiliate network, which offers affiliate marketing. Affiliate marketing is an Internet-based sales form that enables commercial operators of Internet sites, the so-called merchants or advertisers, to place advertising that is usually paid via click or sale commissions on third-party websites, e.g. sales partners, also called affiliates or publishers. The merchant provides, through the affiliate network, an advertising medium, e.g. an advertising banner or other suitable means of Internet advertising, which is subsequently integrated by an affiliate on their own Internet pages or promoted via other channels, such as keyword advertising or e-marketing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of AdCell is belboon GmbH, Weinmeisterstr. 12-14, 10178 Berlin, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Belboon sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. The tracking cookie by Belboon stores no personal data. Only the identification number of the affiliate, that is, the partner mediating the potential customer, as well as the ordinal number of the visitor of a website and the clicked advertising medium are stored. The purpose of storing this data is the processing of commission payments between a merchant and affiliate, which are processed via the affiliate network, that is Belboon&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Belboon from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Belboon may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Belboon may be retrieved under https://www.belboon.com/en/about-us/privacy/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;50. Data protection provisions about the application and use of TradeTracker&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of TradeTracker. TradeTracker is an affiliate network that offers affiliate marketing. Affiliate marketing is an Internet-based sales form that enables commercial operators of Internet sites, the so-called merchants or advertisers, to place advertising that is usually paid via click or sale commissions on third-party websites (e.g. sales partners, also called affiliates or publishers). The merchant provides, through the affiliate network, an advertising medium, e.g. an advertising banner or other suitable means of Internet advertising, which is subsequently integrated by an affiliate on their own Internet pages or promoted via other channels, such as keyword advertising or e-marketing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of TradeTracker is TradeTracker Deutschland GmbH, Eiffestraße 426, 20537 Hamburg, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;TradeTracker sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. The tracking cookie of TradeTracker stores no personal data. Only the identification number of the affiliate, that is, the partner mediating the potential customer, as well as the ordinal number of the visitor of a website and the clicked advertising medium are stored. The purpose of storing this data is the processing of commission payments between a merchant and affiliate, which are processed via the affiliate network, that is TradeTracker.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent TradeTracker from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by TradeTracker may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of TradeTracker may be retrieved under https://tradetracker.com/privacy-policy/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;51. Data protection provisions about the application and use of Adgoal&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The controller has integrated components of Adgoal on this website. Adgoal is a German affiliate network, which offers affiliate marketing. Affiliate marketing is an Internet-based sales form that enables commercial operators of Internet sites, the so-called merchants or advertisers, to place advertising that is usually paid via click or sale commissions on third-party websites, e.g. sales partners, also called affiliates or publishers. The merchant provides, through the affiliate network, an advertising medium, e.g. an advertising banner or other suitable means of Internet advertising, which is subsequently integrated by an affiliate on their own Internet pages or promoted via other channels, such as keyword advertising or e-marketing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Adgoal is adgoal GmbH, Schellengasse 2, 74072 Heilbronn, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Adgoal sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. The tracking cookie of Adgoal stores no personal data. Only the identification number of the affiliate, that is, the partner mediating the potential customer, as well as the ordinal number of the visitor of a website and the clicked advertising medium are stored. The purpose of storing this data is the processing of commission payments between a merchant and affiliate, which are processed via the affiliate network, that is Adgoal.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Adogal from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Adgoal may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Adgoal may be retrieved under https://www.adgoal.de/en/privacy.html.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;52. Data protection provisions about the application and use of YieldKit&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of YieldKit. YieldKit is a German affiliate network, which offers affiliate marketing. Affiliate marketing is an Internet-based sales form that enables commercial operators of Internet sites, the so-called merchants or advertisers, to place advertising that is usually paid via click or sale commissions on third-party websites, e.g. sales partners, also called affiliates or publishers. The merchant provides, through the affiliate network, an advertising medium, e.g. an advertising banner or other suitable means of Internet advertising, which is subsequently integrated by an affiliate on their own Internet pages or promoted via other channels, such as keyword advertising or e-marketing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of YieldKit is YieldKit GmbH, Jarrestraße 44b, 22303 Hamburg, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;YieldKit sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. The tracking cookie of YieldKit stores no personal data. Only the identification number of the affiliate, that is, the partner mediating the potential customer, as well as the ordinal number of the visitor of a website and the clicked advertising medium are stored. The purpose of storing this data is the processing of commission payments between a merchant and affiliate, which are processed via the affiliate network, that is YieldKit.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent YieldKit from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by YieldKit may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of YieldKit may be retrieved under http://yieldkit.com/legal-notes/privacy-policy/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;53. Data protection provisions about the application and use of Tradedoubler&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of TradeDoubler. TradeDoubler is a German affiliate network, which offers affiliate marketing. Affiliate marketing is an Internet-based sales form that enables commercial operators of Internet sites, the so-called merchants or advertisers, to place advertising that is usually paid via click or sale commissions on third-party websites, e.g. sales partners, also called affiliates or publishers. The merchant provides, through the affiliate network, an advertising medium, e.g. an advertising banner or other suitable means of Internet advertising, which is subsequently integrated by an affiliate on their own Internet pages or promoted via other channels, such as keyword advertising or e-marketing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of TradeDoubler is Tradedoubler GmbH, Herzog-Wilhelm-Straße 26, 80331 München, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;TradeDoubler sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. TradeDoubler&amp;#039;s tracking cookie stores no personal data. Only the identification number of the affiliate, that is, the partner mediating the potential customer, as well as the ordinal number of the visitor of a website and the clicked advertising medium are stored. The purpose of storing this data is the processing of commission payments between a merchant and affiliate, which are processed via the affiliate network, that is TradeDoubler.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent TradeDoubler from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by TradeDoubler may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of TradeDoubler may be retrieved under http://www.tradedoubler.com/en/privacy-policy/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;54. Data protection provisions about the application and use of Oracle Eloqua / Oracle Marketing Cloud&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of Oracle Eloqua/Oracle Marketing Cloud (hereinafter referred to as the &amp;quot;Eloqua&amp;quot;). Eloqua compares relevant Internet content to data from prospective customers and their profiles, to enable Internet site operators to speak more effectively and specifically to prospects and customers. The purpose of Eloqua is to increase the conversion rate of prospective customers and thus increase the turnover of an Internet site operator.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Eloqua is Oracle Corporation, 10 Van de Graaff Drive, Burlington, MA 01803, USA.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Eloqua sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. Eloqua will use the data collected from our website and information on behalf of the controller to analyze user behaviour of the data subject, who has used our Internet page. In addition, Eloqua will use the data to create reports on user activities on our behalf, as well as to provide other services for our enterprise, which are in relation to the use of our website.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Oracle from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Oracle may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the possibility of objecting to a collection of data relating to a use of this Internet site that are generated by the Eloqua cookie as well as the processing of these data by Eloqua and the chance to preclude any such. For this, the data subject must press the ‘click here’ button under https://www.oracle.com/marketingcloud/opt-status.html, which sets an opt-out cookie. The opt-out cookie is placed on the information technology system used by the data subject. If the data subject deletes the cookies on his system, then the data subject must call up the link again and set a new opt-out cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With the setting of the opt-out cookie, however, the possibility exists that the websites of the controller are not entirely usable anymore by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Oracle may be accessed under https://www.oracle.com/legal/privacy/index.html.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;55. Data protection provisions about the application and use of Lotame&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of Lotame. Lotame is a platform for data management through which data is imported from third-party sources across devices, in order to subsequently personalize content, advertising and offers. Lotame is therefore also an analysis service. An analysis service performs a survey, collection and analysis of data. It is mainly used to optimize an Internet site, in order to plan costs and benefits of advertising activities.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Lotame the Lotame Solutions, Inc. Suite 2000 8850 Stanford Blvd. Columbia, Maryland, 21045, UNITED STATES.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The purpose of Lotame is a cross-device approach of our customers and prospective customers. Device interception is a response by the customer if it takes place on a normal computer system as well as on mobile devices such as notebooks, tablets or mobile phones. Lotame uses so-called Unique Identifiers (UIDs) for this purpose. A unique identifier is a technology that can be used to determine which different technological systems are used by a particular person.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Lotame sets a cookie on the information technology system of the data subject. The definition of cookies is explained above. With each call-up to one of the individual pages of this Internet site, which is operated by the controller and on which a Lotame component was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to transmit data through the Lotame component for optimization purposes to Lotame. During the course of this technical procedure, Lotame receives data that is used to create user profiles. The resulting usage profiles are used to determine which different information technology devices the respective user uses to optimize our advertising activities as a result.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the Internet browser used and thus permanently deny the setting of cookies. Such an adjustment to the used Internet browser would also prevent Lotame from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Lotame may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;There is also the possibility of objecting to a collection of data elating to a use of this Internet site that are generated by the Lotame cookie as well as the processing of these data by Lotame and the chance to preclude any such. For this purpose, the data subject must press the ‘opt-out’ button under https://www.lotame.com/opt-out-preference-manager/ through which an opt-out cookie is set. The opt-out cookie set for this purpose is placed on the information technology system used by the data subject. If the cookies are deleted on the system of the data subject, then the data subject must call the link again and set a new opt-out cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With the setting of the opt-out cookie, however, the possibility exists that the websites of the controller are not entirely usable anymore by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Lotame may be accessed at https://www.lotame.com/legal/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;56. Data protection provisions about the application and use of Bloglovin&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of Bloglovin&amp;#039;. Bloglovin&amp;#039; is an online platform that allows users to organize their favorite blogs. A blog is a web-based, generally publicly-accessible portal, in which one or more people called bloggers or web bloggers can post articles or write down thoughts in so-called blogposts.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Bloglovin&amp;#039; is Bloglovin&amp;#039; Inc., 25 Broadway, New York, NY 10004, UNITED STATES.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to one of the individual pages of this Internet site, which is operated by the controller and on which a Bloglovin&amp;#039; component was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to download a display of the corresponding Bloglovin&amp;#039; component, through the Bloglovin&amp;#039; component. During the course of this technical procedure, Bloglovin&amp;#039; gains knowledge of what specific sub-page of our website was visited by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject is logged in at the same time at Bloglovin&amp;#039;, Bloglovin&amp;#039; recognizes with each call-up to our website by the data subject—and for the entire duration of their stay on our Internet site—which specific sub-page of our Internet page was visited by the data subject. This information is collected through the Bloglovin&amp;#039; component and through Bloglovin&amp;#039; assigned to the respective Bloglovin&amp;#039; account of the data subject. If the data subject clicks on the Bloglovin&amp;#039; button that is integrated on our website, then this information is delivered to Bloglovin&amp;#039;. The data subject has already agreed to the transmission of such information to Bloglovin&amp;#039;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the applicable data protection provisions of Bloglovin&amp;#039; may be retrieved under https://www.bloglovin.com/tos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;57. Data protection provisions about the application and use of Amobee&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of Amobee. Amobee is a technological advertising agency specializing in the delivery of advertising to mobile devices.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Amobee is Amobee Inc., 950 Tower Lane, Suite 2000, Foster City, CA 94404, UNITED STATES.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The purpose of Amobee is to deliver advertising. Amobee uses a cookie on the information technology system of the data subject The definition of cookies is explained above. With each call-up to the individual pages of this website, which operated by the controller and on which an Amobee component is integrated, the Internet browser on the information technology system of the data subject is automatically prompted by the respective Amobee component to transmit data to Amobee. During the course of this technical procedure, Amobee gains knowledge of the data that are subsequently used to create usage profiles. The resulting usage profiles serve advertising activities.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Amobee from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Amobee may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;There is also the possibility of objecting to a collection of data relating to a use of this Internet site that are generated by the Amobee cookie as well as the processing of these data by Amobee and the chance to preclude any such. For this purpose, the data subject must press the ‘click-here-to-opt-out’ button under http://amobee.com/privacy/technology/ through which an opt-out cookie is set. The opt-out cookie set for this purpose is placed on the information technology system used by the data subject. If the cookies are deleted on the system of the data subject, then the data subject must call up the link again and set a new opt-out cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With the setting of the opt-out cookie, however, the possibility exists that the websites of the controller are not entirely usable anymore by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Amobee may be accessed under http://amobee.com/privacy/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;58. Data protection provisions about the application and use of ADITION&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of ADITION. ADITION is a provider of data-based digital marketing that provides an advertising platform targeting advertisers and online marketing agencies.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of ADITION is ADITION technologies AG, Oststraße 55, 40211 Düsseldorf, Germany.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The purpose of ADITION is the insertion of digital advertising media. ADITION uses a cookie on the information technology system of the data subject. The definition of cookies has already been explained above. ADITION does not store personal data in the cookie. All information stored in the cookie is of a technical nature and enables controller, inter alia, to understand how frequently certain advertisements are displayed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent ADITION from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by ADITION may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the possibility of objecting to a collection of data relating to a use of this Internet site that are generated by the ADITION cookie as well as the processing of these data by ADITION and the chance to preclude any such. For this purpose, the data subject must click a link under https://www.adition.com/kontakt/datenschutz/, which sets an opt-out cookie. The opt-out cookie is placed on the information technology system used by the data subject. If the data subject deletes the cookies on his system, then the data subject must call up the link again and set a new opt-out cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With the setting of the opt-out cookie, however, the possibility exists that the websites of the controller are not entirely usable anymore by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of ADITION may be accessed under https://www.adition.com/en/kontakt/datenschutz/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;59. Data protection provisions about the application and use of AdJug&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of AdJug. AdJug is an advertising exchange platform that provides online advertising (banner advertising).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of AdJug is AdJug Ltd. 5th Floor Glen House, 200-208 Tottenham Court Road, London, W1T7PL, United Kingdom.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;AdJug sets a cookie. Furthermore, with each call-up to a single page of this Internet site, which is operated by the controller and on which an AdJug component was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to submit data through the corresponding AdJug component for the purpose of displaying advertisements delivered by AdJug. In this technical procedure, AdJug gains information that our website was accessed by the information technology system used by the data subject. The data transmitted within the framework of the technical procedure of AdJug serve for billing purposes in relation to the displayed advertising.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent AdJug from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by AdJug may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the possibility of objecting to a collection of data relating to a use of this Internet site that are generated by the AdJug cookie as well as the processing of these data by AdJug and the chance to preclude any such. For this purpose, the data subject must press the consumer cookie opt-out link under http://www.de.adjug.com/datenschutz.html, which sets an opt-out cookie. The opt-out cookie, set for this purpose, is placed on the information technology system used by the data subject. If the cookies on the system of the data subject are deleted, the data subject must call-up the link again and set a new opt-out cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With the setting of the opt-out cookie, however, the possibility exists that the websites of the controller are not entirely usable anymore by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of AdJug may be accessed under http://www.adjug.com/info/privacy.asp.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;60. Payment Method: Data protection provisions about the use of Klarna as a payment processor&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated Klarna components. Klarna is an online payment service provider, which allows purchases on an account or a flexible installment payment. Klarna also offers other services, such as buyer protection and identity or creditworthiness checks.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Klarna is Klarna Bank AB, Sveavägen 46, 111 34 Stockholm, Schweden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject selects the &amp;quot;purchase on account&amp;quot; or &amp;quot;installment purchase&amp;quot; during the ordering process in our online shop as a payment option, the data of the data subject is automatically transmitted to Klarna. By selecting one of these payment options, the data subject agrees to this transmission of personal data required for the processing of the invoice or installment purchase, or identity and creditworthiness checks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The personal data transmitted to Klarna is usually first name, surname, address, date of birth, sex, email address, IP address, telephone number, mobile phone number, as well as other data necessary for the processing of an invoice or installment purchase. The processing of the purchase contract also requires such personal data, which are in connection with the respective order. In particular, the exchange of payment information such as bank details, card number, date of validity and CVC code, cumulative number, item number, data on goods and services, prices and taxes, information on the previous purchase behavior or other details of the financial situation of the data subject. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The purpose of the transmission of the data is, in particular, the identification check, payment administration, andfraud prevention. The controller shall provide Klarna with personal data, in particular, if a legitimate interest in the transmission exists. The personal data exchanged between Klarna and the data subject for the data processing shall be transmitted by Klarna to economic agencies. This transmission is intended for identity and creditworthiness checks.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Klarna shall also pass on the personal data to affiliates (Klarna Group) and service providers or subcontractors as far as this is necessary to fulfill contractual obligations or to process the data in the order.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Klarna collects and uses data and information on the previous payment behavior of the data subject as well as probability values for their behavior in the future (so-called scoring) in order to decide on the reasoning, implementation or termination of a contractual relationship. The calculation of scoring is carried out on the basis of scientifically-recognized mathematical-statistical methods.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject is able to revoke the consent to the handling of personal data at any time from Klarna. A revocation shall not have any effect on personal data which must be processed, used or transmitted in accordance with (contractual) payment processing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Klarna may be retrieved under https://cdn.klarna.com/1.0/shared/content/policy/data/de_de/data_protection.pdf.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;61. Payment Method: Data protection provisions about the use of PayPal as a payment processor&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of PayPal. PayPal is an online payment service provider. Payments are processed via so-called PayPal accounts, which represent virtual private or business accounts. PayPal is also able to process virtual payments through credit cards when a user does not have a PayPal account. A PayPal account is managed via an e-mail address, which is why there are no classic account numbers. PayPal makes it possible to trigger online payments to third parties or to receive payments. PayPal also accepts trustee functions and offers buyer protection services.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The European operating company of PayPal is PayPal (Europe) S.à.r.l. et Cie, S.C.A., 22-24 Boulevard Royal L-2449, Luxemburg.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject chooses &amp;quot;PayPal&amp;quot; as the payment option in the online shop during the ordering process, we automatically transmit the data of the data subject to PayPal. By selecting this payment option, the data subject agrees to the transfer of personal data required for payment processing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The personal data transmitted to PayPal is usually first name, last name, address, email address, IP address, telephone number, mobile phone number, or other data necessary for payment processing. The processing of the purchase contract also requires such personal data, which are in connection with the respective order.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The transmission of the data is aimed at payment processing and fraud prevention. The controller will transfer personal data to PayPal, in particular, if a legitimate interest in the transmission is given. The personal data exchanged between PayPal and the controller for the processing of the data will be transmitted by PayPal to economic credit agencies. This transmission is intended for identity and creditworthiness checks.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;PayPal will, if necessary, pass on personal data to affiliates and service providers or subcontractors to the extent that this is necessary to fulfill contractual obligations or for data to be processed in the order.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject has the possibility to revoke consent for the handling of personal data at any time from PayPal. A revocation shall not have any effect on personal data which must be processed, used or transmitted in accordance with (contractual) payment processing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of PayPal may be retrieved under https://www.paypal.com/us/webapps/mpp/ua/privacy-full.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;62. Payment Method: Data protection provisions about the use of Skrill as a payment processor&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components by Skrill. Skrill is an online payment service provider. Payments are made via the so-called Skrill wallet, which is a virtual electronic wallet. Skrill also offers the possibility to make virtual payments via credit cards. A Skrill wallet is managed via an e-mail address. Skrill makes it possible to trigger online payments to third parties or to receive payments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Skrill is Skrill Limited, 25 Canada Square, London E14 5LQ, United Kingdom.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject chooses &amp;quot;Skrill&amp;quot; as the payment option during the ordering process in our online-shop, the data will be transmitted automatically to Skrill. By selecting this payment option, the data subject agrees to the transmission of personal data required for payment processing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The personal data exchanged with Skrill is the purchase sum and e-mail address, which are both necessary for payment processing. The transmission of data is aimed at payment processing and fraud prevention. The controller will also provide Skrill with other personal data in the case, if a legitimate interest in the transmission exists. The personal data exchanged between Skrill and the data subject shall be transmitted by Skrill to the economic agencies. This transmission is intended for identity and creditworthiness checks.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If necessary, Skrill will pass on personal data to affiliates and service providers or subcontractors to the extent necessary to fulfill contractual obligations or to process the data in the order.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject has the possibility to revoke the consent to the handling of personal data at any time from Skrill. A revocation shall not have any effect on personal data which must be processed, used or transmitted in accordance with (contractual) payment processing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Skrill may be retrieved under https://www.skrill.com/en/footer/privacypolicy/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;63. Payment Method: Data protection provisions about the use of Sofortüberweisung as a payment processor&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of Sofortüberweisung. Sofortüberweisung is a payment service that allows cashless payment of products and services on the Internet. Sofortüberweisung is a technical procedure by which the online dealer immediately receives a payment confirmation. This enables a trader to deliver goods, services or downloads to the customer immediately after ordering.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of Sofortüberweisung is Klarna Bank AB, Sveavägen 46, 111 34 Stockholm, Schweden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject chooses &amp;quot;immediate transfer&amp;quot; as the payment option in our online shop during the ordering process, the data of the data subject will be transmitted to Sofortüberweisung. By selecting this payment option, the data subject agrees to the transmission of personal data required for payment processing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In the case of purchase processing via direct transfer, the buyer sends the PIN and the TAN to Sofort GmbH. Sofortüberweisung then carries out a transfer to the online merchant after technical verification of the account status and retrieval of additional data to check the account assignment. The online trader is then automatically informed of the execution of the financial transaction.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The personal data exchanged with Sofortüberweisung is the first name, last name, address, email address, IP address, telephone number, mobile phone number, or other data necessary for payment processing. The transmission of the data is aimed at payment processing and fraud prevention. The controller shall immediately transfer other personal data, even if a legitimate interest in the transmission exists. The personal data exchanged between Sofortüberweisung and the controller shall be transmitted by Sofortüberweisung to economic credit agencies. This transmission is intended for identity and creditworthiness checks.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofortüberweisung provides personal data to affiliated companies and service providers or subcontractors as far as this is necessary for the fulfillment of contractual obligations or data in order to be processed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject has the possibility to revoke the consent to the handling of personal data at any time from Sofortüberweisung. A revocation shall not have any effect on personal data which must be processed, used or transmitted in accordance with (contractual) payment processing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The applicable data protection provisions of Sofortüberweisung may be retrieved under https://www.klarna.com/sofort/datenschutz/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;64. Legal basis for the processing &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Art. 6(1) lit. a GDPR serves as the legal basis for processing operations for which we obtain consent for a specific processing purpose. If the processing of personal data is necessary for the performance of a contract to which the data subject is party, as is the case, for example, when processing operations are necessary for the supply of goods or to provide any other service, the processing is based on Article 6(1) lit. b GDPR. The same applies to such processing operations which are necessary for carrying out pre-contractual measures, for example in the case of inquiries concerning our products or services. Is our company subject to a legal obligation by which processing of personal data is required, such as for the fulfillment of tax obligations, the processing is based on Art. 6(1) lit. c GDPR.&lt;br /&gt;
In rare cases, the processing of personal data may be necessary to protect the vital interests of the data subject or of another natural person. This would be the case, for example, if a visitor were injured in our company and his name, age, health insurance data or other vital information would have to be passed on to a doctor, hospital or other third party. Then the processing would be based on Art. 6(1) lit. d GDPR.&lt;br /&gt;
Finally, processing operations could be based on Article 6(1) lit. f GDPR. This legal basis is used for processing operations which are not covered by any of the abovementioned legal grounds, if processing is necessary for the purposes of the legitimate interests pursued by our company or by a third party, except where such interests are overridden by the interests or fundamental rights and freedoms of the data subject which require protection of personal data. Such processing operations are particularly permissible because they have been specifically mentioned by the European legislator. He considered that a legitimate interest could be assumed if the data subject is a client of the controller (Recital 47 Sentence 2 GDPR).&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;65. The legitimate interests pursued by the controller or by a third party&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Where the processing of personal data is based on Article 6(1) lit. f GDPR our legitimate interest is to carry out our business in favor of the well-being of all our employees and the shareholders.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;66. Period for which the personal data will be stored&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The criteria used to determine the period of storage of personal data is the respective statutory retention period. After expiration of that period, the corresponding data is routinely deleted, as long as it is no longer necessary for the fulfillment of the contract or the initiation of a contract.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;67. Provision of personal data as statutory or contractual requirement; Requirement necessary to enter into a contract; Obligation of the data subject to provide the personal data; possible consequences of failure to provide such data &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;We clarify that the provision of personal data is partly required by law (e.g. tax regulations) or can also result from contractual provisions (e.g. information on the contractual partner).&lt;br /&gt;
&lt;br /&gt;
Sometimes it may be necessary to conclude a contract that the data subject provides us with personal data, which must subsequently be processed by us. The data subject is, for example, obliged to provide us with personal data when our company signs a contract with him or her. The non-provision of the personal data would have the consequence that the contract with the data subject could not be concluded.&lt;br /&gt;
&lt;br /&gt;
Before personal data is provided by the data subject, the data subject must contact any employee. The employee clarifies to the data subject whether the provision of the personal data is required by law or contract or is necessary for the conclusion of the contract, whether there is an obligation to provide the personal data and the consequences of non-provision of the personal data.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;68. Existence of automated decision-making&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;As a responsible company, we do not use automatic decision-making or profiling.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This Privacy Policy has been generated by the Privacy Policy Generator of the &amp;lt;a href=&amp;quot;https://dg-datenschutz.de/services/external-data-protection-officer/?lang=en&amp;quot;&amp;gt;DGD - Your External DPO&amp;lt;/a&amp;gt; that was developed in cooperation with  &amp;lt;a href=&amp;quot;https://www.wbs-law.de/eng/&amp;quot;&amp;gt;German Lawyers&amp;lt;/a&amp;gt; from WILDE BEUGER SOLMECKE, Cologne.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Solmecke Basic + Google Anaytics == &lt;br /&gt;
Quelle: https://dsgvo-muster-datenschutzerklaerung.dg-datenschutz.de/ 2021-01&lt;br /&gt;
&lt;br /&gt;
=== Deutsch ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;Datenschutzerklärung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wir freuen uns sehr über Ihr Interesse an unserem Unternehmen. Datenschutz hat einen besonders hohen Stellenwert für die Geschäftsleitung der info@dojatec-vub.de. Eine Nutzung der Internetseiten der info@dojatec-vub.de ist grundsätzlich ohne jede Angabe personenbezogener Daten möglich. Sofern eine betroffene Person besondere Services unseres Unternehmens über unsere Internetseite in Anspruch nehmen möchte, könnte jedoch eine Verarbeitung personenbezogener Daten erforderlich werden. Ist die Verarbeitung personenbezogener Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir generell eine Einwilligung der betroffenen Person ein.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die Verarbeitung personenbezogener Daten, beispielsweise des Namens, der Anschrift, E-Mail-Adresse oder Telefonnummer einer betroffenen Person, erfolgt stets im Einklang mit der Datenschutz-Grundverordnung und in Übereinstimmung mit den für die info@dojatec-vub.de geltenden landesspezifischen Datenschutzbestimmungen. Mittels dieser Datenschutzerklärung möchte unser Unternehmen die Öffentlichkeit über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren. Ferner werden betroffene Personen mittels dieser Datenschutzerklärung über die ihnen zustehenden Rechte aufgeklärt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die info@dojatec-vub.de hat als für die Verarbeitung Verantwortlicher zahlreiche technische und organisatorische Maßnahmen umgesetzt, um einen möglichst lückenlosen Schutz der über diese Internetseite verarbeiteten personenbezogenen Daten sicherzustellen. Dennoch können Internetbasierte Datenübertragungen grundsätzlich Sicherheitslücken aufweisen, sodass ein absoluter Schutz nicht gewährleistet werden kann. Aus diesem Grund steht es jeder betroffenen Person frei, personenbezogene Daten auch auf alternativen Wegen, beispielsweise telefonisch, an uns zu übermitteln.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;1. Begriffsbestimmungen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Datenschutzerklärung der info@dojatec-vub.de beruht auf den Begrifflichkeiten, die durch den Europäischen Richtlinien- und Verordnungsgeber beim Erlass der Datenschutz-Grundverordnung (DS-GVO) verwendet wurden. Unsere Datenschutzerklärung soll sowohl für die Öffentlichkeit als auch für unsere Kunden und Geschäftspartner einfach lesbar und verständlich sein. Um dies zu gewährleisten, möchten wir vorab die verwendeten Begrifflichkeiten erläutern.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wir verwenden in dieser Datenschutzerklärung unter anderem die folgenden Begriffe:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a)    personenbezogene Daten&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Personenbezogene Daten sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden „betroffene Person“) beziehen. Als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung oder zu einem oder mehreren besonderen Merkmalen, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind, identifiziert werden kann.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b)    betroffene Person&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Betroffene Person ist jede identifizierte oder identifizierbare natürliche Person, deren personenbezogene Daten von dem für die Verarbeitung Verantwortlichen verarbeitet werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c)    Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verarbeitung ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführte Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten wie das Erheben, das Erfassen, die Organisation, das Ordnen, die Speicherung, die Anpassung oder Veränderung, das Auslesen, das Abfragen, die Verwendung, die Offenlegung durch Übermittlung, Verbreitung oder eine andere Form der Bereitstellung, den Abgleich oder die Verknüpfung, die Einschränkung, das Löschen oder die Vernichtung.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;d)    Einschränkung der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Einschränkung der Verarbeitung ist die Markierung gespeicherter personenbezogener Daten mit dem Ziel, ihre künftige Verarbeitung einzuschränken.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e)    Profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Profiling ist jede Art der automatisierten Verarbeitung personenbezogener Daten, die darin besteht, dass diese personenbezogenen Daten verwendet werden, um bestimmte persönliche Aspekte, die sich auf eine natürliche Person beziehen, zu bewerten, insbesondere, um Aspekte bezüglich Arbeitsleistung, wirtschaftlicher Lage, Gesundheit, persönlicher Vorlieben, Interessen, Zuverlässigkeit, Verhalten, Aufenthaltsort oder Ortswechsel dieser natürlichen Person zu analysieren oder vorherzusagen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f)     Pseudonymisierung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Pseudonymisierung ist die Verarbeitung personenbezogener Daten in einer Weise, auf welche die personenbezogenen Daten ohne Hinzuziehung zusätzlicher Informationen nicht mehr einer spezifischen betroffenen Person zugeordnet werden können, sofern diese zusätzlichen Informationen gesondert aufbewahrt werden und technischen und organisatorischen Maßnahmen unterliegen, die gewährleisten, dass die personenbezogenen Daten nicht einer identifizierten oder identifizierbaren natürlichen Person zugewiesen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;g)    Verantwortlicher oder für die Verarbeitung Verantwortlicher&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verantwortlicher oder für die Verarbeitung Verantwortlicher ist die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten entscheidet. Sind die Zwecke und Mittel dieser Verarbeitung durch das Unionsrecht oder das Recht der Mitgliedstaaten vorgegeben, so kann der Verantwortliche beziehungsweise können die bestimmten Kriterien seiner Benennung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten vorgesehen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h)    Auftragsverarbeiter&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Auftragsverarbeiter ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die personenbezogene Daten im Auftrag des Verantwortlichen verarbeitet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i)      Empfänger&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Empfänger ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, der personenbezogene Daten offengelegt werden, unabhängig davon, ob es sich bei ihr um einen Dritten handelt oder nicht. Behörden, die im Rahmen eines bestimmten Untersuchungsauftrags nach dem Unionsrecht oder dem Recht der Mitgliedstaaten möglicherweise personenbezogene Daten erhalten, gelten jedoch nicht als Empfänger.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;j)      Dritter&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Dritter ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle außer der betroffenen Person, dem Verantwortlichen, dem Auftragsverarbeiter und den Personen, die unter der unmittelbaren Verantwortung des Verantwortlichen oder des Auftragsverarbeiters befugt sind, die personenbezogenen Daten zu verarbeiten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;k)    Einwilligung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Einwilligung ist jede von der betroffenen Person freiwillig für den bestimmten Fall in informierter Weise und unmissverständlich abgegebene Willensbekundung in Form einer Erklärung oder einer sonstigen eindeutigen bestätigenden Handlung, mit der die betroffene Person zu verstehen gibt, dass sie mit der Verarbeitung der sie betreffenden personenbezogenen Daten einverstanden ist.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;2. Name und Anschrift des für die Verarbeitung Verantwortlichen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verantwortlicher im Sinne der Datenschutz-Grundverordnung, sonstiger in den Mitgliedstaaten der Europäischen Union geltenden Datenschutzgesetze und anderer Bestimmungen mit datenschutzrechtlichem Charakter ist die:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;info@dojatec-vub.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Schillerstraße 20&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;72144 Dusslingen&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Deutschland&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Tel.: 07072 / 9293-0&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;E-Mail: dealer@stephanschlegel.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Website: dojatec.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;3. Cookies&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseiten der info@dojatec-vub.de verwenden Cookies. Cookies sind Textdateien, welche über einen Internetbrowser auf einem Computersystem abgelegt und gespeichert werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zahlreiche Internetseiten und Server verwenden Cookies. Viele Cookies enthalten eine sogenannte Cookie-ID. Eine Cookie-ID ist eine eindeutige Kennung des Cookies. Sie besteht aus einer Zeichenfolge, durch welche Internetseiten und Server dem konkreten Internetbrowser zugeordnet werden können, in dem das Cookie gespeichert wurde. Dies ermöglicht es den besuchten Internetseiten und Servern, den individuellen Browser der betroffenen Person von anderen Internetbrowsern, die andere Cookies enthalten, zu unterscheiden. Ein bestimmter Internetbrowser kann über die eindeutige Cookie-ID wiedererkannt und identifiziert werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch den Einsatz von Cookies kann die info@dojatec-vub.de den Nutzern dieser Internetseite nutzerfreundlichere Services bereitstellen, die ohne die Cookie-Setzung nicht möglich wären.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels eines Cookies können die Informationen und Angebote auf unserer Internetseite im Sinne des Benutzers optimiert werden. Cookies ermöglichen uns, wie bereits erwähnt, die Benutzer unserer Internetseite wiederzuerkennen. Zweck dieser Wiedererkennung ist es, den Nutzern die Verwendung unserer Internetseite zu erleichtern. Der Benutzer einer Internetseite, die Cookies verwendet, muss beispielsweise nicht bei jedem Besuch der Internetseite erneut seine Zugangsdaten eingeben, weil dies von der Internetseite und dem auf dem Computersystem des Benutzers abgelegten Cookie übernommen wird. Ein weiteres Beispiel ist das Cookie eines Warenkorbes im Online-Shop. Der Online-Shop merkt sich die Artikel, die ein Kunde in den virtuellen Warenkorb gelegt hat, über ein Cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Ferner können bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden. Dies ist in allen gängigen Internetbrowsern möglich. Deaktiviert die betroffene Person die Setzung von Cookies in dem genutzten Internetbrowser, sind unter Umständen nicht alle Funktionen unserer Internetseite vollumfänglich nutzbar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;4. Erfassung von allgemeinen Daten und Informationen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseite der info@dojatec-vub.de erfasst mit jedem Aufruf der Internetseite durch eine betroffene Person oder ein automatisiertes System eine Reihe von allgemeinen Daten und Informationen. Diese allgemeinen Daten und Informationen werden in den Logfiles des Servers gespeichert. Erfasst werden können die (1) verwendeten Browsertypen und Versionen, (2) das vom zugreifenden System verwendete Betriebssystem, (3) die Internetseite, von welcher ein zugreifendes System auf unsere Internetseite gelangt (sogenannte Referrer), (4) die Unterwebseiten, welche über ein zugreifendes System auf unserer Internetseite angesteuert werden, (5) das Datum und die Uhrzeit eines Zugriffs auf die Internetseite, (6) eine Internet-Protokoll-Adresse (IP-Adresse), (7) der Internet-Service-Provider des zugreifenden Systems und (8) sonstige ähnliche Daten und Informationen, die der Gefahrenabwehr im Falle von Angriffen auf unsere informationstechnologischen Systeme dienen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Bei der Nutzung dieser allgemeinen Daten und Informationen zieht die info@dojatec-vub.de keine Rückschlüsse auf die betroffene Person. Diese Informationen werden vielmehr benötigt, um (1) die Inhalte unserer Internetseite korrekt auszuliefern, (2) die Inhalte unserer Internetseite sowie die Werbung für diese zu optimieren, (3) die dauerhafte Funktionsfähigkeit unserer informationstechnologischen Systeme und der Technik unserer Internetseite zu gewährleisten sowie (4) um Strafverfolgungsbehörden im Falle eines Cyberangriffes die zur Strafverfolgung notwendigen Informationen bereitzustellen. Diese anonym erhobenen Daten und Informationen werden durch die info@dojatec-vub.de daher einerseits statistisch und ferner mit dem Ziel ausgewertet, den Datenschutz und die Datensicherheit in unserem Unternehmen zu erhöhen, um letztlich ein optimales Schutzniveau für die von uns verarbeiteten personenbezogenen Daten sicherzustellen. Die anonymen Daten der Server-Logfiles werden getrennt von allen durch eine betroffene Person angegebenen personenbezogenen Daten gespeichert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;5. Kontaktmöglichkeit über die Internetseite&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseite der info@dojatec-vub.de enthält aufgrund von gesetzlichen Vorschriften Angaben, die eine schnelle elektronische Kontaktaufnahme zu unserem Unternehmen sowie eine unmittelbare Kommunikation mit uns ermöglichen, was ebenfalls eine allgemeine Adresse der sogenannten elektronischen Post (E-Mail-Adresse) umfasst. Sofern eine betroffene Person per E-Mail oder über ein Kontaktformular den Kontakt mit dem für die Verarbeitung Verantwortlichen aufnimmt, werden die von der betroffenen Person übermittelten personenbezogenen Daten automatisch gespeichert. Solche auf freiwilliger Basis von einer betroffenen Person an den für die Verarbeitung Verantwortlichen übermittelten personenbezogenen Daten werden für Zwecke der Bearbeitung oder der Kontaktaufnahme zur betroffenen Person gespeichert. Es erfolgt keine Weitergabe dieser personenbezogenen Daten an Dritte.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;6. Routinemäßige Löschung und Sperrung von personenbezogenen Daten&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche verarbeitet und speichert personenbezogene Daten der betroffenen Person nur für den Zeitraum, der zur Erreichung des Speicherungszwecks erforderlich ist oder sofern dies durch den Europäischen Richtlinien- und Verordnungsgeber oder einen anderen Gesetzgeber in Gesetzen oder Vorschriften, welchen der für die Verarbeitung Verantwortliche unterliegt, vorgesehen wurde.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Entfällt der Speicherungszweck oder läuft eine vom Europäischen Richtlinien- und Verordnungsgeber oder einem anderen zuständigen Gesetzgeber vorgeschriebene Speicherfrist ab, werden die personenbezogenen Daten routinemäßig und entsprechend den gesetzlichen Vorschriften gesperrt oder gelöscht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;7. Rechte der betroffenen Person&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a)    Recht auf Bestätigung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber eingeräumte Recht, von dem für die Verarbeitung Verantwortlichen eine Bestätigung darüber zu verlangen, ob sie betreffende personenbezogene Daten verarbeitet werden. Möchte eine betroffene Person dieses Bestätigungsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b)    Recht auf Auskunft&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, jederzeit von dem für die Verarbeitung Verantwortlichen unentgeltliche Auskunft über die zu seiner Person gespeicherten personenbezogenen Daten und eine Kopie dieser Auskunft zu erhalten. Ferner hat der Europäische Richtlinien- und Verordnungsgeber der betroffenen Person Auskunft über folgende Informationen zugestanden:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Verarbeitungszwecke&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Kategorien personenbezogener Daten, die verarbeitet werden&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Empfänger oder Kategorien von Empfängern, gegenüber denen die personenbezogenen Daten offengelegt worden sind oder noch offengelegt werden, insbesondere bei Empfängern in Drittländern oder bei internationalen Organisationen&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;falls möglich die geplante Dauer, für die die personenbezogenen Daten gespeichert werden, oder, falls dies nicht möglich ist, die Kriterien für die Festlegung dieser Dauer&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen eines Rechts auf Berichtigung oder Löschung der sie betreffenden personenbezogenen Daten oder auf Einschränkung der Verarbeitung durch den Verantwortlichen oder eines Widerspruchsrechts gegen diese Verarbeitung&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen eines Beschwerderechts bei einer Aufsichtsbehörde&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;wenn die personenbezogenen Daten nicht bei der betroffenen Person erhoben werden: Alle verfügbaren Informationen über die Herkunft der Daten&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling gemäß Artikel 22 Abs.1 und 4 DS-GVO und — zumindest in diesen Fällen — aussagekräftige Informationen über die involvierte Logik sowie die Tragweite und die angestrebten Auswirkungen einer derartigen Verarbeitung für die betroffene Person&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner steht der betroffenen Person ein Auskunftsrecht darüber zu, ob personenbezogene Daten an ein Drittland oder an eine internationale Organisation übermittelt wurden. Sofern dies der Fall ist, so steht der betroffenen Person im Übrigen das Recht zu, Auskunft über die geeigneten Garantien im Zusammenhang mit der Übermittlung zu erhalten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte eine betroffene Person dieses Auskunftsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c)    Recht auf Berichtigung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, die unverzügliche Berichtigung sie betreffender unrichtiger personenbezogener Daten zu verlangen. Ferner steht der betroffenen Person das Recht zu, unter Berücksichtigung der Zwecke der Verarbeitung, die Vervollständigung unvollständiger personenbezogener Daten — auch mittels einer ergänzenden Erklärung — zu verlangen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte eine betroffene Person dieses Berichtigungsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;d)    Recht auf Löschung (Recht auf Vergessen werden)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, von dem Verantwortlichen zu verlangen, dass die sie betreffenden personenbezogenen Daten unverzüglich gelöscht werden, sofern einer der folgenden Gründe zutrifft und soweit die Verarbeitung nicht erforderlich ist:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden für solche Zwecke erhoben oder auf sonstige Weise verarbeitet, für welche sie nicht mehr notwendig sind.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person widerruft ihre Einwilligung, auf die sich die Verarbeitung gemäß Art. 6 Abs. 1 Buchstabe a DS-GVO oder Art. 9 Abs. 2 Buchstabe a DS-GVO stützte, und es fehlt an einer anderweitigen Rechtsgrundlage für die Verarbeitung.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person legt gemäß Art. 21 Abs. 1 DS-GVO Widerspruch gegen die Verarbeitung ein, und es liegen keine vorrangigen berechtigten Gründe für die Verarbeitung vor, oder die betroffene Person legt gemäß Art. 21 Abs. 2 DS-GVO Widerspruch gegen die Verarbeitung ein.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden unrechtmäßig verarbeitet.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Löschung der personenbezogenen Daten ist zur Erfüllung einer rechtlichen Verpflichtung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten erforderlich, dem der Verantwortliche unterliegt.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden in Bezug auf angebotene Dienste der Informationsgesellschaft gemäß Art. 8 Abs. 1 DS-GVO erhoben.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern einer der oben genannten Gründe zutrifft und eine betroffene Person die Löschung von personenbezogenen Daten, die bei der info@dojatec-vub.de gespeichert sind, veranlassen möchte, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden. Der Mitarbeiter der info@dojatec-vub.de wird veranlassen, dass dem Löschverlangen unverzüglich nachgekommen wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wurden die personenbezogenen Daten von der info@dojatec-vub.de öffentlich gemacht und ist unser Unternehmen als Verantwortlicher gemäß Art. 17 Abs. 1 DS-GVO zur Löschung der personenbezogenen Daten verpflichtet, so trifft die info@dojatec-vub.de unter Berücksichtigung der verfügbaren Technologie und der Implementierungskosten angemessene Maßnahmen, auch technischer Art, um andere für die Datenverarbeitung Verantwortliche, welche die veröffentlichten personenbezogenen Daten verarbeiten, darüber in Kenntnis zu setzen, dass die betroffene Person von diesen anderen für die Datenverarbeitung Verantwortlichen die Löschung sämtlicher Links zu diesen personenbezogenen Daten oder von Kopien oder Replikationen dieser personenbezogenen Daten verlangt hat, soweit die Verarbeitung nicht erforderlich ist. Der Mitarbeiter der info@dojatec-vub.de wird im Einzelfall das Notwendige veranlassen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e)    Recht auf Einschränkung der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, von dem Verantwortlichen die Einschränkung der Verarbeitung zu verlangen, wenn eine der folgenden Voraussetzungen gegeben ist:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Richtigkeit der personenbezogenen Daten wird von der betroffenen Person bestritten, und zwar für eine Dauer, die es dem Verantwortlichen ermöglicht, die Richtigkeit der personenbezogenen Daten zu überprüfen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Verarbeitung ist unrechtmäßig, die betroffene Person lehnt die Löschung der personenbezogenen Daten ab und verlangt stattdessen die Einschränkung der Nutzung der personenbezogenen Daten.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Der Verantwortliche benötigt die personenbezogenen Daten für die Zwecke der Verarbeitung nicht länger, die betroffene Person benötigt sie jedoch zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person hat Widerspruch gegen die Verarbeitung gem. Art. 21 Abs. 1 DS-GVO eingelegt und es steht noch nicht fest, ob die berechtigten Gründe des Verantwortlichen gegenüber denen der betroffenen Person überwiegen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern eine der oben genannten Voraussetzungen gegeben ist und eine betroffene Person die Einschränkung von personenbezogenen Daten, die bei der info@dojatec-vub.de gespeichert sind, verlangen möchte, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden. Der Mitarbeiter der info@dojatec-vub.de wird die Einschränkung der Verarbeitung veranlassen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f)     Recht auf Datenübertragbarkeit&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, die sie betreffenden personenbezogenen Daten, welche durch die betroffene Person einem Verantwortlichen bereitgestellt wurden, in einem strukturierten, gängigen und maschinenlesbaren Format zu erhalten. Sie hat außerdem das Recht, diese Daten einem anderen Verantwortlichen ohne Behinderung durch den Verantwortlichen, dem die personenbezogenen Daten bereitgestellt wurden, zu übermitteln, sofern die Verarbeitung auf der Einwilligung gemäß Art. 6 Abs. 1 Buchstabe a DS-GVO oder Art. 9 Abs. 2 Buchstabe a DS-GVO oder auf einem Vertrag gemäß Art. 6 Abs. 1 Buchstabe b DS-GVO beruht und die Verarbeitung mithilfe automatisierter Verfahren erfolgt, sofern die Verarbeitung nicht für die Wahrnehmung einer Aufgabe erforderlich ist, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, welche dem Verantwortlichen übertragen wurde.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner hat die betroffene Person bei der Ausübung ihres Rechts auf Datenübertragbarkeit gemäß Art. 20 Abs. 1 DS-GVO das Recht, zu erwirken, dass die personenbezogenen Daten direkt von einem Verantwortlichen an einen anderen Verantwortlichen übermittelt werden, soweit dies technisch machbar ist und sofern hiervon nicht die Rechte und Freiheiten anderer Personen beeinträchtigt werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zur Geltendmachung des Rechts auf Datenübertragbarkeit kann sich die betroffene Person jederzeit an einen Mitarbeiter der info@dojatec-vub.de wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;g)    Recht auf Widerspruch&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung sie betreffender personenbezogener Daten, die aufgrund von Art. 6 Abs. 1 Buchstaben e oder f DS-GVO erfolgt, Widerspruch einzulegen. Dies gilt auch für ein auf diese Bestimmungen gestütztes Profiling.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die info@dojatec-vub.de verarbeitet die personenbezogenen Daten im Falle des Widerspruchs nicht mehr, es sei denn, wir können zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die den Interessen, Rechten und Freiheiten der betroffenen Person überwiegen, oder die Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Verarbeitet die info@dojatec-vub.de personenbezogene Daten, um Direktwerbung zu betreiben, so hat die betroffene Person das Recht, jederzeit Widerspruch gegen die Verarbeitung der personenbezogenen Daten zum Zwecke derartiger Werbung einzulegen. Dies gilt auch für das Profiling, soweit es mit solcher Direktwerbung in Verbindung steht. Widerspricht die betroffene Person gegenüber der info@dojatec-vub.de der Verarbeitung für Zwecke der Direktwerbung, so wird die info@dojatec-vub.de die personenbezogenen Daten nicht mehr für diese Zwecke verarbeiten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zudem hat die betroffene Person das Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, gegen die sie betreffende Verarbeitung personenbezogener Daten, die bei der info@dojatec-vub.de zu wissenschaftlichen oder historischen Forschungszwecken oder zu statistischen Zwecken gemäß Art. 89 Abs. 1 DS-GVO erfolgen, Widerspruch einzulegen, es sei denn, eine solche Verarbeitung ist zur Erfüllung einer im öffentlichen Interesse liegenden Aufgabe erforderlich.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zur Ausübung des Rechts auf Widerspruch kann sich die betroffene Person direkt an jeden Mitarbeiter der info@dojatec-vub.de oder einen anderen Mitarbeiter wenden. Der betroffenen Person steht es ferner frei, im Zusammenhang mit der Nutzung von Diensten der Informationsgesellschaft, ungeachtet der Richtlinie 2002/58/EG, ihr Widerspruchsrecht mittels automatisierter Verfahren auszuüben, bei denen technische Spezifikationen verwendet werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h)    Automatisierte Entscheidungen im Einzelfall einschließlich Profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, nicht einer ausschließlich auf einer automatisierten Verarbeitung — einschließlich Profiling — beruhenden Entscheidung unterworfen zu werden, die ihr gegenüber rechtliche Wirkung entfaltet oder sie in ähnlicher Weise erheblich beeinträchtigt, sofern die Entscheidung (1) nicht für den Abschluss oder die Erfüllung eines Vertrags zwischen der betroffenen Person und dem Verantwortlichen erforderlich ist, oder (2) aufgrund von Rechtsvorschriften der Union oder der Mitgliedstaaten, denen der Verantwortliche unterliegt, zulässig ist und diese Rechtsvorschriften angemessene Maßnahmen zur Wahrung der Rechte und Freiheiten sowie der berechtigten Interessen der betroffenen Person enthalten oder (3) mit ausdrücklicher Einwilligung der betroffenen Person erfolgt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ist die Entscheidung (1) für den Abschluss oder die Erfüllung eines Vertrags zwischen der betroffenen Person und dem Verantwortlichen erforderlich oder (2) erfolgt sie mit ausdrücklicher Einwilligung der betroffenen Person, trifft die info@dojatec-vub.de angemessene Maßnahmen, um die Rechte und Freiheiten sowie die berechtigten Interessen der betroffenen Person zu wahren, wozu mindestens das Recht auf Erwirkung des Eingreifens einer Person seitens des Verantwortlichen, auf Darlegung des eigenen Standpunkts und auf Anfechtung der Entscheidung gehört.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte die betroffene Person Rechte mit Bezug auf automatisierte Entscheidungen geltend machen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i)      Recht auf Widerruf einer datenschutzrechtlichen Einwilligung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, eine Einwilligung zur Verarbeitung personenbezogener Daten jederzeit zu widerrufen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte die betroffene Person ihr Recht auf Widerruf einer Einwilligung geltend machen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;8. Datenschutz bei Bewerbungen und im Bewerbungsverfahren&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche erhebt und verarbeitet die personenbezogenen Daten von Bewerbern zum Zwecke der Abwicklung des Bewerbungsverfahrens. Die Verarbeitung kann auch auf elektronischem Wege erfolgen. Dies ist insbesondere dann der Fall, wenn ein Bewerber entsprechende Bewerbungsunterlagen auf dem elektronischen Wege, beispielsweise per E-Mail oder über ein auf der Internetseite befindliches Webformular, an den für die Verarbeitung Verantwortlichen übermittelt. Schließt der für die Verarbeitung Verantwortliche einen Anstellungsvertrag mit einem Bewerber, werden die übermittelten Daten zum Zwecke der Abwicklung des Beschäftigungsverhältnisses unter Beachtung der gesetzlichen Vorschriften gespeichert. Wird von dem für die Verarbeitung Verantwortlichen kein Anstellungsvertrag mit dem Bewerber geschlossen, so werden die Bewerbungsunterlagen zwei Monate nach Bekanntgabe der Absageentscheidung automatisch gelöscht, sofern einer Löschung keine sonstigen berechtigten Interessen des für die Verarbeitung Verantwortlichen entgegenstehen. Sonstiges berechtigtes Interesse in diesem Sinne ist beispielsweise eine Beweispflicht in einem Verfahren nach dem Allgemeinen Gleichbehandlungsgesetz (AGG).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;9. Datenschutzbestimmungen zu Einsatz und Verwendung von Google Analytics (mit Anonymisierungsfunktion)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite die Komponente Google Analytics (mit Anonymisierungsfunktion) integriert. Google Analytics ist ein Web-Analyse-Dienst. Web-Analyse ist die Erhebung, Sammlung und Auswertung von Daten über das Verhalten von Besuchern von Internetseiten. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Internetseite eine betroffene Person auf eine Internetseite gekommen ist (sogenannte Referrer), auf welche Unterseiten der Internetseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde. Eine Web-Analyse wird überwiegend zur Optimierung einer Internetseite und zur Kosten-Nutzen-Analyse von Internetwerbung eingesetzt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft der Google-Analytics-Komponente ist die Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche verwendet für die Web-Analyse über Google Analytics den Zusatz &amp;quot;_gat._anonymizeIp&amp;quot;. Mittels dieses Zusatzes wird die IP-Adresse des Internetanschlusses der betroffenen Person von Google gekürzt und anonymisiert, wenn der Zugriff auf unsere Internetseiten aus einem Mitgliedstaat der Europäischen Union oder aus einem anderen Vertragsstaat des Abkommens über den Europäischen Wirtschaftsraum erfolgt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der Zweck der Google-Analytics-Komponente ist die Analyse der Besucherströme auf unserer Internetseite. Google nutzt die gewonnenen Daten und Informationen unter anderem dazu, die Nutzung unserer Internetseite auszuwerten, um für uns Online-Reports, welche die Aktivitäten auf unseren Internetseiten aufzeigen, zusammenzustellen, und um weitere mit der Nutzung unserer Internetseite in Verbindung stehende Dienstleistungen zu erbringen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Google Analytics setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Mit Setzung des Cookies wird Google eine Analyse der Benutzung unserer Internetseite ermöglicht. Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Google-Analytics-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Google-Analytics-Komponente veranlasst, Daten zum Zwecke der Online-Analyse an Google zu übermitteln. Im Rahmen dieses technischen Verfahrens erhält Google Kenntnis über personenbezogene Daten, wie der IP-Adresse der betroffenen Person, die Google unter anderem dazu dienen, die Herkunft der Besucher und Klicks nachzuvollziehen und in der Folge Provisionsabrechnungen zu ermöglichen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels des Cookies werden personenbezogene Informationen, beispielsweise die Zugriffszeit, der Ort, von welchem ein Zugriff ausging und die Häufigkeit der Besuche unserer Internetseite durch die betroffene Person, gespeichert. Bei jedem Besuch unserer Internetseiten werden diese personenbezogenen Daten, einschließlich der IP-Adresse des von der betroffenen Person genutzten Internetanschlusses, an Google in den Vereinigten Staaten von Amerika übertragen. Diese personenbezogenen Daten werden durch Google in den Vereinigten Staaten von Amerika gespeichert. Google gibt diese über das technische Verfahren erhobenen personenbezogenen Daten unter Umständen an Dritte weiter.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Google ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem kann ein von Google Analytics bereits gesetzter Cookie jederzeit über den Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch Google Analytics erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch Google zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person ein Browser-Add-On unter dem Link https://tools.google.com/dlpage/gaoptout herunterladen und installieren. Dieses Browser-Add-On teilt Google Analytics über JavaScript mit, dass keine Daten und Informationen zu den Besuchen von Internetseiten an Google Analytics übermittelt werden dürfen. Die Installation des Browser-Add-Ons wird von Google als Widerspruch gewertet. Wird das informationstechnologische System der betroffenen Person zu einem späteren Zeitpunkt gelöscht, formatiert oder neu installiert, muss durch die betroffene Person eine erneute Installation des Browser-Add-Ons erfolgen, um Google Analytics zu deaktivieren. Sofern das Browser-Add-On durch die betroffene Person oder einer anderen Person, die ihrem Machtbereich zuzurechnen ist, deinstalliert oder deaktiviert wird, besteht die Möglichkeit der Neuinstallation oder der erneuten Aktivierung des Browser-Add-Ons.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Google können unter https://www.google.de/intl/de/policies/privacy/ und unter http://www.google.com/analytics/terms/de.html abgerufen werden. Google Analytics wird unter diesem Link https://www.google.com/intl/de_de/analytics/ genauer erläutert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;10. Datenschutzbestimmungen zu Einsatz und Verwendung von Instagram&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten des Dienstes Instagram integriert. Instagram ist ein Dienst, der als audiovisuelle Plattform zu qualifizieren ist und den Nutzern das Teilen von Fotos und Videos und zudem eine Weiterverbreitung solcher Daten in anderen sozialen Netzwerken ermöglicht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft der Dienste von Instagram ist die Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2 Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Instagram-Komponente (Insta-Button) integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Instagram-Komponente veranlasst, eine Darstellung der entsprechenden Komponente von Instagram herunterzuladen. Im Rahmen dieses technischen Verfahrens erhält Instagram Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei Instagram eingeloggt ist, erkennt Instagram mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite die betroffene Person besucht. Diese Informationen werden durch die Instagram-Komponente gesammelt und durch Instagram dem jeweiligen Instagram-Account der betroffenen Person zugeordnet. Betätigt die betroffene Person einen der auf unserer Internetseite integrierten Instagram-Buttons, werden die damit übertragenen Daten und Informationen dem persönlichen Instagram-Benutzerkonto der betroffenen Person zugeordnet und von Instagram gespeichert und verarbeitet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Instagram erhält über die Instagram-Komponente immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufs unserer Internetseite gleichzeitig bei Instagram eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person die Instagram-Komponente anklickt oder nicht. Ist eine derartige Übermittlung dieser Informationen an Instagram von der betroffenen Person nicht gewollt, kann diese die Übermittlung dadurch verhindern, dass sie sich vor einem Aufruf unserer Internetseite aus ihrem Instagram-Account ausloggt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Instagram können unter https://help.instagram.com/155833707900388 und https://www.instagram.com/about/legal/privacy/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;11. Rechtsgrundlage der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Art. 6 I lit. a DS-GVO dient unserem Unternehmen als Rechtsgrundlage für Verarbeitungsvorgänge, bei denen wir eine Einwilligung für einen bestimmten Verarbeitungszweck einholen. Ist die Verarbeitung personenbezogener Daten zur Erfüllung eines Vertrags, dessen Vertragspartei die betroffene Person ist, erforderlich, wie dies beispielsweise bei Verarbeitungsvorgängen der Fall ist, die für eine Lieferung von Waren oder die Erbringung einer sonstigen Leistung oder Gegenleistung notwendig sind, so beruht die Verarbeitung auf Art. 6 I lit. b DS-GVO. Gleiches gilt für solche Verarbeitungsvorgänge die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind, etwa in Fällen von Anfragen zur unseren Produkten oder Leistungen. Unterliegt unser Unternehmen einer rechtlichen Verpflichtung durch welche eine Verarbeitung von personenbezogenen Daten erforderlich wird, wie beispielsweise zur Erfüllung steuerlicher Pflichten, so basiert die Verarbeitung auf Art. 6 I lit. c DS-GVO. In seltenen Fällen könnte die Verarbeitung von personenbezogenen Daten erforderlich werden, um lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person zu schützen. Dies wäre beispielsweise der Fall, wenn ein Besucher in unserem Betrieb verletzt werden würde und daraufhin sein Name, sein Alter, seine Krankenkassendaten oder sonstige lebenswichtige Informationen an einen Arzt, ein Krankenhaus oder sonstige Dritte weitergegeben werden müssten. Dann würde die Verarbeitung auf Art. 6 I lit. d DS-GVO beruhen.&lt;br /&gt;
Letztlich könnten Verarbeitungsvorgänge auf Art. 6 I lit. f DS-GVO beruhen. Auf dieser Rechtsgrundlage basieren Verarbeitungsvorgänge, die von keiner der vorgenannten Rechtsgrundlagen erfasst werden, wenn die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich ist, sofern die Interessen, Grundrechte und Grundfreiheiten des Betroffenen nicht überwiegen. Solche Verarbeitungsvorgänge sind uns insbesondere deshalb gestattet, weil sie durch den Europäischen Gesetzgeber besonders erwähnt wurden. Er vertrat insoweit die Auffassung, dass ein berechtigtes Interesse anzunehmen sein könnte, wenn die betroffene Person ein Kunde des Verantwortlichen ist (Erwägungsgrund 47 Satz 2 DS-GVO).&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;12. Berechtigte Interessen an der Verarbeitung, die von dem Verantwortlichen oder einem Dritten verfolgt werden&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Basiert die Verarbeitung personenbezogener Daten auf Artikel 6 I lit. f DS-GVO ist unser berechtigtes Interesse die Durchführung unserer Geschäftstätigkeit zugunsten des Wohlergehens all unserer Mitarbeiter und unserer Anteilseigner.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;13. Dauer, für die die personenbezogenen Daten gespeichert werden&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Das Kriterium für die Dauer der Speicherung von personenbezogenen Daten ist die jeweilige gesetzliche Aufbewahrungsfrist. Nach Ablauf der Frist werden die entsprechenden Daten routinemäßig gelöscht, sofern sie nicht mehr zur Vertragserfüllung oder Vertragsanbahnung erforderlich sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;14. Gesetzliche oder vertragliche Vorschriften zur Bereitstellung der personenbezogenen Daten; Erforderlichkeit für den Vertragsabschluss; Verpflichtung der betroffenen Person, die personenbezogenen Daten bereitzustellen; mögliche Folgen der Nichtbereitstellung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wir klären Sie darüber auf, dass die Bereitstellung personenbezogener Daten zum Teil gesetzlich vorgeschrieben ist (z.B. Steuervorschriften) oder sich auch aus vertraglichen Regelungen (z.B. Angaben zum Vertragspartner) ergeben kann.&lt;br /&gt;
Mitunter kann es zu einem Vertragsschluss erforderlich sein, dass eine betroffene Person uns personenbezogene Daten zur Verfügung stellt, die in der Folge durch uns verarbeitet werden müssen. Die betroffene Person ist beispielsweise verpflichtet uns personenbezogene Daten bereitzustellen, wenn unser Unternehmen mit ihr einen Vertrag abschließt. Eine Nichtbereitstellung der personenbezogenen Daten hätte zur Folge, dass der Vertrag mit dem Betroffenen nicht geschlossen werden könnte.&lt;br /&gt;
Vor einer Bereitstellung personenbezogener Daten durch den Betroffenen muss sich der Betroffene an einen unserer Mitarbeiter wenden. Unser Mitarbeiter klärt den Betroffenen einzelfallbezogen darüber auf, ob die Bereitstellung der personenbezogenen Daten gesetzlich oder vertraglich vorgeschrieben oder für den Vertragsabschluss erforderlich ist, ob eine Verpflichtung besteht, die personenbezogenen Daten bereitzustellen, und welche Folgen die Nichtbereitstellung der personenbezogenen Daten hätte.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;15. Bestehen einer automatisierten Entscheidungsfindung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Als verantwortungsbewusstes Unternehmen verzichten wir auf eine automatische Entscheidungsfindung oder ein Profiling.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Diese Datenschutzerklärung wurde durch den Datenschutzerklärungs-Generator der DGD Deutsche Gesellschaft für Datenschutz GmbH, die als &amp;lt;a href=&amp;quot;https://dg-datenschutz.de/datenschutz-dienstleistungen/externer-datenschutzbeauftragter/&amp;quot;&amp;gt;Datenschutzbeauftragter&amp;lt;/a&amp;gt; tätig ist, in Kooperation mit den &amp;lt;a href=&amp;quot;https://www.wbs-law.de/it-recht/datenschutzrecht/&amp;quot;&amp;gt;Datenschutz Anwälten der Kanzlei WILDE BEUGER SOLMECKE | Rechtsanwälte&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt; erstellt.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Englisch ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;Privacy Policy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;We are very delighted that you have shown interest in our enterprise. Data protection is of a particularly high priority for the management of the info@dojatec-vub.de. The use of the Internet pages of the info@dojatec-vub.de is possible without any indication of personal data; however, if a data subject wants to use special enterprise services via our website, processing of personal data could become necessary. If the processing of personal data is necessary and there is no statutory basis for such processing, we generally obtain consent from the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The processing of personal data, such as the name, address, e-mail address, or telephone number of a data subject shall always be in line with the General Data Protection Regulation (GDPR), and in accordance with the country-specific data protection regulations applicable to the info@dojatec-vub.de. By means of this data protection declaration, our enterprise would like to inform the general public of the nature, scope, and purpose of the personal data we collect, use and process. Furthermore, data subjects are informed, by means of this data protection declaration, of the rights to which they are entitled.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;As the controller, the info@dojatec-vub.de has implemented numerous technical and organizational measures to ensure the most complete protection of personal data processed through this website. However, Internet-based data transmissions may in principle have security gaps, so absolute protection may not be guaranteed. For this reason, every data subject is free to transfer personal data to us via alternative means, e.g. by telephone. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;1. Definitions&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The data protection declaration of the info@dojatec-vub.de is based on the terms used by the European legislator for the adoption of the General Data Protection Regulation (GDPR). Our data protection declaration should be legible and understandable for the general public, as well as our customers and business partners. To ensure this, we would like to first explain the terminology used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In this data protection declaration, we use, inter alia, the following terms:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a)    Personal data&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Personal data means any information relating to an identified or identifiable natural person (“data subject”). An identifiable natural person is one who can be identified, directly or indirectly, in particular by reference to an identifier such as a name, an identification number, location data, an online identifier or to one or more factors specific to the physical, physiological, genetic, mental, economic, cultural or social identity of that natural person.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b) Data subject&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Data subject is any identified or identifiable natural person, whose personal data is processed by the controller responsible for the processing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c)    Processing&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Processing is any operation or set of operations which is performed on personal data or on sets of personal data, whether or not by automated means, such as collection, recording, organisation, structuring, storage, adaptation or alteration, retrieval, consultation, use, disclosure by transmission, dissemination or otherwise making available, alignment or combination, restriction, erasure or destruction. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;d)    Restriction of processing&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Restriction of processing is the marking of stored personal data with the aim of limiting their processing in the future. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e)    Profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Profiling means any form of automated processing of personal data consisting of the use of personal data to evaluate certain personal aspects relating to a natural person, in particular to analyse or predict aspects concerning that natural person&amp;#039;s performance at work, economic situation, health, personal preferences, interests, reliability, behaviour, location or movements. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f)     Pseudonymisation&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Pseudonymisation is the processing of personal data in such a manner that the personal data can no longer be attributed to a specific data subject without the use of additional information, provided that such additional information is kept separately and is subject to technical and organisational measures to ensure that the personal data are not attributed to an identified or identifiable natural person. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;g)    Controller or controller responsible for the processing&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Controller or controller responsible for the processing is the natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of personal data; where the purposes and means of such processing are determined by Union or Member State law, the controller or the specific criteria for its nomination may be provided for by Union or Member State law. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h)    Processor&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Processor is a natural or legal person, public authority, agency or other body which processes personal data on behalf of the controller. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i)      Recipient&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Recipient is a natural or legal person, public authority, agency or another body, to which the personal data are disclosed, whether a third party or not. However, public authorities which may receive personal data in the framework of a particular inquiry in accordance with Union or Member State law shall not be regarded as recipients; the processing of those data by those public authorities shall be in compliance with the applicable data protection rules according to the purposes of the processing. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;j)      Third party&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Third party is a natural or legal person, public authority, agency or body other than the data subject, controller, processor and persons who, under the direct authority of the controller or processor, are authorised to process personal data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;k)    Consent&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Consent of the data subject is any freely given, specific, informed and unambiguous indication of the data subject&amp;#039;s wishes by which he or she, by a statement or by a clear affirmative action, signifies agreement to the processing of personal data relating to him or her. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;2. Name and Address of the controller&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Controller for the purposes of the General Data Protection Regulation (GDPR), other data protection laws applicable in Member states of the European Union and other provisions related to data protection is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;info@dojatec-vub.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Schillerstraße 20&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;72144 Dusslingen&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Deutschland&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Phone: 07072 / 9293-0&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Email: dealer@stephanschlegel.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Website: dojatec.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;3. Cookies&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The Internet pages of the info@dojatec-vub.de use cookies. Cookies are text files that are stored in a computer system via an Internet browser.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Many Internet sites and servers use cookies. Many cookies contain a so-called cookie ID. A cookie ID is a unique identifier of the cookie. It consists of a character string through which Internet pages and servers can be assigned to the specific Internet browser in which the cookie was stored. This allows visited Internet sites and servers to differentiate the individual browser of the dats subject from other Internet browsers that contain other cookies. A specific Internet browser can be recognized and identified using the unique cookie ID.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Through the use of cookies, the info@dojatec-vub.de can provide the users of this website with more user-friendly services that would not be possible without the cookie setting.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;By means of a cookie, the information and offers on our website can be optimized with the user in mind. Cookies allow us, as previously mentioned, to recognize our website users. The purpose of this recognition is to make it easier for users to utilize our website. The website user that uses cookies, e.g. does not have to enter access data each time the website is accessed, because this is taken over by the website, and the cookie is thus stored on the user&amp;#039;s computer system. Another example is the cookie of a shopping cart in an online shop. The online store remembers the articles that a customer has placed in the virtual shopping cart via a cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, at any time, prevent the setting of cookies through our website by means of a corresponding setting of the Internet browser used, and may thus permanently deny the setting of cookies. Furthermore, already set cookies may be deleted at any time via an Internet browser or other software programs. This is possible in all popular Internet browsers. If the data subject deactivates the setting of cookies in the Internet browser used, not all functions of our website may be entirely usable.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;4. Collection of general data and information&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The website of the info@dojatec-vub.de collects a series of general data and information when a data subject or automated system calls up the website. This general data and information are stored in the server log files. Collected may be (1) the browser types and versions used, (2) the operating system used by the accessing system, (3) the website from which an accessing system reaches our website (so-called referrers), (4) the sub-websites, (5) the date and time of access to the Internet site, (6) an Internet protocol address (IP address), (7) the Internet service provider of the accessing system, and (8) any other similar data and information that may be used in the event of attacks on our information technology systems.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;When using these general data and information, the info@dojatec-vub.de does not draw any conclusions about the data subject. Rather, this information is needed to (1) deliver the content of our website correctly, (2) optimize the content of our website as well as its advertisement, (3) ensure the long-term viability of our information technology systems and website technology, and (4) provide law enforcement authorities with the information necessary for criminal prosecution in case of a cyber-attack. Therefore, the info@dojatec-vub.de analyzes anonymously collected data and information statistically, with the aim of increasing the data protection and data security of our enterprise, and to ensure an optimal level of protection for the personal data we process. The anonymous data of the server log files are stored separately from all personal data provided by a data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;5. Contact possibility via the website &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The website of the info@dojatec-vub.de contains information that enables a quick electronic contact to our enterprise, as well as direct communication with us, which also includes a general address of the so-called electronic mail (e-mail address). If a data subject contacts the controller by e-mail or via a contact form, the personal data transmitted by the data subject are automatically stored. Such personal data transmitted on a voluntary basis by a data subject to the data controller are stored for the purpose of processing or contacting the data subject. There is no transfer of this personal data to third parties.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;6. Routine erasure and blocking of personal data&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The data controller shall process and store the personal data of the data subject only for the period necessary to achieve the purpose of storage, or as far as this is granted by the European legislator or other legislators in laws or regulations to which the controller is subject to.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the storage purpose is not applicable, or if a storage period prescribed by the European legislator or another competent legislator expires, the personal data are routinely blocked or erased in accordance with legal requirements.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;7. Rights of the data subject&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a) Right of confirmation&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to obtain from the controller the confirmation as to whether or not personal data concerning him or her are being processed. If a data subject wishes to avail himself of this right of confirmation, he or she may, at any time, contact any employee of the controller.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b) Right of access&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to obtain from the controller free information about his or her personal data stored at any time and a copy of this information. Furthermore, the European directives and regulations grant the data subject access to the following information:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the purposes of the processing;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the categories of personal data concerned;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the recipients or categories of recipients to whom the personal data have been or will be disclosed, in particular recipients in third countries or international organisations;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;where possible, the envisaged period for which the personal data will be stored, or, if not possible, the criteria used to determine that period;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the existence of the right to request from the controller rectification or erasure of personal data, or restriction of processing of personal data concerning the data subject, or to object to such processing;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the existence of the right to lodge a complaint with a supervisory authority;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;where the personal data are not collected from the data subject, any available information as to their source;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the existence of automated decision-making, including profiling, referred to in Article 22(1) and (4) of the GDPR and, at least in those cases, meaningful information about the logic involved, as well as the significance and envisaged consequences of such processing for the data subject.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Furthermore, the data subject shall have a right to obtain information as to whether personal data are transferred to a third country or to an international organisation. Where this is the case, the data subject shall have the right to be informed of the appropriate safeguards relating to the transfer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If a data subject wishes to avail himself of this right of access, he or she may, at any time, contact any employee of the controller.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c) Right to rectification &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to obtain from the controller without undue delay the rectification of inaccurate personal data concerning him or her. Taking into account the purposes of the processing, the data subject shall have the right to have incomplete personal data completed, including by means of providing a supplementary statement.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If a data subject wishes to exercise this right to rectification, he or she may, at any time, contact any employee of the controller.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;d) Right to erasure (Right to be forgotten) &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to obtain from the controller the erasure of personal data concerning him or her without undue delay, and the controller shall have the obligation to erase personal data without undue delay where one of the following grounds applies, as long as the processing is not necessary: &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The personal data are no longer necessary in relation to the purposes for which they were collected or otherwise processed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The data subject withdraws consent to which the processing is based according to point (a) of Article 6(1) of the GDPR, or point (a) of Article 9(2) of the GDPR, and where there is no other legal ground for the processing.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The data subject objects to the processing pursuant to Article 21(1) of the GDPR and there are no overriding legitimate grounds for the processing, or the data subject objects to the processing pursuant to Article 21(2) of the GDPR. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The personal data have been unlawfully processed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The personal data must be erased for compliance with a legal obligation in Union or Member State law to which the controller is subject.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The personal data have been collected in relation to the offer of information society services referred to in Article 8(1) of the GDPR.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If one of the aforementioned reasons applies, and a data subject wishes to request the erasure of personal data stored by the info@dojatec-vub.de, he or she may, at any time, contact any employee of the controller. An employee of info@dojatec-vub.de shall promptly ensure that the erasure request is complied with immediately.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Where the controller has made personal data public and is obliged pursuant to Article 17(1) to erase the personal data, the controller, taking account of available technology and the cost of implementation, shall take reasonable steps, including technical measures, to inform other controllers processing the personal data that the data subject has requested erasure by such controllers of any links to, or copy or replication of, those personal data, as far as processing is not required. An employees of the info@dojatec-vub.de will arrange the necessary measures in individual cases.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e) Right of restriction of processing&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to obtain from the controller restriction of processing where one of the following applies:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The accuracy of the personal data is contested by the data subject, for a period enabling the controller to verify the accuracy of the personal data. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The processing is unlawful and the data subject opposes the erasure of the personal data and requests instead the restriction of their use instead.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The controller no longer needs the personal data for the purposes of the processing, but they are required by the data subject for the establishment, exercise or defence of legal claims.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The data subject has objected to processing pursuant to Article 21(1) of the GDPR pending the verification whether the legitimate grounds of the controller override those of the data subject.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If one of the aforementioned conditions is met, and a data subject wishes to request the restriction of the processing of personal data stored by the info@dojatec-vub.de, he or she may at any time contact any employee of the controller. The employee of the info@dojatec-vub.de will arrange the restriction of the processing. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f) Right to data portability&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator, to receive the personal data concerning him or her, which was provided to a controller, in a structured, commonly used and machine-readable format. He or she shall have the right to transmit those data to another controller without hindrance from the controller to which the personal data have been provided, as long as the processing is based on consent pursuant to point (a) of Article 6(1) of the GDPR or point (a) of Article 9(2) of the GDPR, or on a contract pursuant to point (b) of Article 6(1) of the GDPR, and the processing is carried out by automated means, as long as the processing is not necessary for the performance of a task carried out in the public interest or in the exercise of official authority vested in the controller.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Furthermore, in exercising his or her right to data portability pursuant to Article 20(1) of the GDPR, the data subject shall have the right to have personal data transmitted directly from one controller to another, where technically feasible and when doing so does not adversely affect the rights and freedoms of others.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In order to assert the right to data portability, the data subject may at any time contact any employee of the info@dojatec-vub.de.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;g) Right to object&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to object, on grounds relating to his or her particular situation, at any time, to processing of personal data concerning him or her, which is based on point (e) or (f) of Article 6(1) of the GDPR. This also applies to profiling based on these provisions.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The info@dojatec-vub.de shall no longer process the personal data in the event of the objection, unless we can demonstrate compelling legitimate grounds for the processing which override the interests, rights and freedoms of the data subject, or for the establishment, exercise or defence of legal claims.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the info@dojatec-vub.de processes personal data for direct marketing purposes, the data subject shall have the right to object at any time to processing of personal data concerning him or her for such marketing. This applies to profiling to the extent that it is related to such direct marketing. If the data subject objects to the info@dojatec-vub.de to the processing for direct marketing purposes, the info@dojatec-vub.de will no longer process the personal data for these purposes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the right, on grounds relating to his or her particular situation, to object to processing of personal data concerning him or her by the info@dojatec-vub.de for scientific or historical research purposes, or for statistical purposes pursuant to Article 89(1) of the GDPR, unless the processing is necessary for the performance of a task carried out for reasons of public interest.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In order to exercise the right to object, the data subject may contact any employee of the info@dojatec-vub.de. In addition, the data subject is free in the context of the use of information society services, and notwithstanding Directive 2002/58/EC, to use his or her right to object by automated means using technical specifications.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h) Automated individual decision-making, including profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator not to be subject to a decision based solely on automated processing, including profiling, which produces legal effects concerning him or her, or similarly significantly affects him or her, as long as the decision (1) is not is necessary for entering into, or the performance of, a contract between the data subject and a data controller, or (2) is not authorised by Union or Member State law to which the controller is subject and which also lays down suitable measures to safeguard the data subject&amp;#039;s rights and freedoms and legitimate interests, or (3) is not based on the data subject&amp;#039;s explicit consent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the decision (1) is necessary for entering into, or the performance of, a contract between the data subject and a data controller, or (2) it is based on the data subject&amp;#039;s explicit consent, the info@dojatec-vub.de shall implement suitable measures to safeguard the data subject&amp;#039;s rights and freedoms and legitimate interests, at least the right to obtain human intervention on the part of the controller, to express his or her point of view and contest the decision.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject wishes to exercise the rights concerning automated individual decision-making, he or she may, at any time, contact any employee of the info@dojatec-vub.de.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i) Right to withdraw data protection consent &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to withdraw his or her consent to processing of his or her personal data at any time. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject wishes to exercise the right to withdraw the consent, he or she may, at any time, contact any employee of the info@dojatec-vub.de.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;8. Data protection for applications and the application procedures&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The data controller shall collect and process the personal data of applicants for the purpose of the processing of the application procedure. The processing may also be carried out electronically. This is the case, in particular, if an applicant submits corresponding application documents by e-mail or by means of a web form on the website to the controller. If the data controller concludes an employment contract with an applicant, the submitted data will be stored for the purpose of processing the employment relationship in compliance with legal requirements. If no employment contract is concluded with the applicant by the controller, the application documents shall be automatically erased two months after notification of the refusal decision, provided that no other legitimate interests of the controller are opposed to the erasure. Other legitimate interest in this relation is, e.g. a burden of proof in a procedure under the General Equal Treatment Act (AGG).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;9. Data protection provisions about the application and use of Google Analytics (with anonymization function)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated the component of Google Analytics (with the anonymizer function). Google Analytics is a web analytics service. Web analytics is the collection, gathering, and analysis of data about the behavior of visitors to websites. A web analysis service collects, inter alia, data about the website from which a person has come (the so-called referrer), which sub-pages were visited, or how often and for what duration a sub-page was viewed. Web analytics are mainly used for the optimization of a website and in order to carry out a cost-benefit analysis of Internet advertising.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operator of the Google Analytics component is Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For the web analytics through Google Analytics the controller uses the application &amp;quot;_gat. _anonymizeIp&amp;quot;. By means of this application the IP address of the Internet connection of the data subject is abridged by Google and anonymised when accessing our websites from a Member State of the European Union or another Contracting State to the Agreement on the European Economic Area.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The purpose of the Google Analytics component is to analyze the traffic on our website. Google uses the collected data and information, inter alia, to evaluate the use of our website and to provide online reports, which show the activities on our websites, and to provide other services concerning the use of our Internet site for us.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Google Analytics places a cookie on the information technology system of the data subject. The definition of cookies is explained above. With the setting of the cookie, Google is enabled to analyze the use of our website. With each call-up to one of the individual pages of this Internet site, which is operated by the controller and into which a Google Analytics component was integrated, the Internet browser on the information technology system of the data subject will automatically submit data through the Google Analytics component for the purpose of online advertising and the settlement of commissions to Google. During the course of this technical procedure, the enterprise Google gains knowledge of personal information, such as the IP address of the data subject, which serves Google, inter alia, to understand the origin of visitors and clicks, and subsequently create commission settlements.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The cookie is used to store personal information, such as the access time, the location from which the access was made, and the frequency of visits of our website by the data subject. With each visit to our Internet site, such personal data, including the IP address of the Internet access used by the data subject, will be transmitted to Google in the United States of America. These personal data are stored by Google in the United States of America. Google may pass these personal data collected through the technical procedure to third parties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Google Analytics from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Google Analytics may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the possibility of objecting to a collection of data that are generated by Google Analytics, which is related to the use of this website, as well as the processing of this data by Google and the chance to preclude any such. For this purpose, the data subject must download a browser add-on under the link https://tools.google.com/dlpage/gaoptout and install it. This browser add-on tells Google Analytics through a JavaScript, that any data and information about the visits of Internet pages may not be transmitted to Google Analytics. The installation of the browser add-ons is considered an objection by Google. If the information technology system of the data subject is later deleted, formatted, or newly installed, then the data subject must reinstall the browser add-ons to disable Google Analytics. If the browser add-on was uninstalled by the data subject or any other person who is attributable to their sphere of competence, or is disabled, it is possible to execute the reinstallation or reactivation of the browser add-ons.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the applicable data protection provisions of Google may be retrieved under https://www.google.com/intl/en/policies/privacy/ and under http://www.google.com/analytics/terms/us.html. Google Analytics is further explained under the following Link https://www.google.com/analytics/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;10. Data protection provisions about the application and use of Instagram&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of the service Instagram. Instagram is a service that may be qualified as an audiovisual platform, which allows users to share photos and videos, as well as disseminate such data in other social networks.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of the services offered by Instagram is Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2 Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to one of the individual pages of this Internet site, which is operated by the controller and on which an Instagram component (Insta button) was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to the download of a display of the corresponding Instagram component of Instagram. During the course of this technical procedure, Instagram becomes aware of what specific sub-page of our website was visited by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject is logged in at the same time on Instagram, Instagram detects with every call-up to our website by the data subject—and for the entire duration of their stay on our Internet site—which specific sub-page of our Internet page was visited by the data subject. This information is collected through the Instagram component and is associated with the respective Instagram account of the data subject. If the data subject clicks on one of the Instagram buttons integrated on our website, then Instagram matches this information with the personal Instagram user account of the data subject and stores the personal data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Instagram receives information via the Instagram component that the data subject has visited our website provided that the data subject is logged in at Instagram at the time of the call to our website. This occurs regardless of whether the person clicks on the Instagram button or not. If such a transmission of information to Instagram is not desirable for the data subject, then he or she can prevent this by logging off from their Instagram account before a call-up to our website is made.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the applicable data protection provisions of Instagram may be retrieved under https://help.instagram.com/155833707900388 and https://www.instagram.com/about/legal/privacy/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;11. Legal basis for the processing &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Art. 6(1) lit. a GDPR serves as the legal basis for processing operations for which we obtain consent for a specific processing purpose. If the processing of personal data is necessary for the performance of a contract to which the data subject is party, as is the case, for example, when processing operations are necessary for the supply of goods or to provide any other service, the processing is based on Article 6(1) lit. b GDPR. The same applies to such processing operations which are necessary for carrying out pre-contractual measures, for example in the case of inquiries concerning our products or services. Is our company subject to a legal obligation by which processing of personal data is required, such as for the fulfillment of tax obligations, the processing is based on Art. 6(1) lit. c GDPR.&lt;br /&gt;
In rare cases, the processing of personal data may be necessary to protect the vital interests of the data subject or of another natural person. This would be the case, for example, if a visitor were injured in our company and his name, age, health insurance data or other vital information would have to be passed on to a doctor, hospital or other third party. Then the processing would be based on Art. 6(1) lit. d GDPR.&lt;br /&gt;
Finally, processing operations could be based on Article 6(1) lit. f GDPR. This legal basis is used for processing operations which are not covered by any of the abovementioned legal grounds, if processing is necessary for the purposes of the legitimate interests pursued by our company or by a third party, except where such interests are overridden by the interests or fundamental rights and freedoms of the data subject which require protection of personal data. Such processing operations are particularly permissible because they have been specifically mentioned by the European legislator. He considered that a legitimate interest could be assumed if the data subject is a client of the controller (Recital 47 Sentence 2 GDPR).&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;12. The legitimate interests pursued by the controller or by a third party&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Where the processing of personal data is based on Article 6(1) lit. f GDPR our legitimate interest is to carry out our business in favor of the well-being of all our employees and the shareholders.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;13. Period for which the personal data will be stored&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The criteria used to determine the period of storage of personal data is the respective statutory retention period. After expiration of that period, the corresponding data is routinely deleted, as long as it is no longer necessary for the fulfillment of the contract or the initiation of a contract.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;14. Provision of personal data as statutory or contractual requirement; Requirement necessary to enter into a contract; Obligation of the data subject to provide the personal data; possible consequences of failure to provide such data &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;We clarify that the provision of personal data is partly required by law (e.g. tax regulations) or can also result from contractual provisions (e.g. information on the contractual partner).&lt;br /&gt;
&lt;br /&gt;
Sometimes it may be necessary to conclude a contract that the data subject provides us with personal data, which must subsequently be processed by us. The data subject is, for example, obliged to provide us with personal data when our company signs a contract with him or her. The non-provision of the personal data would have the consequence that the contract with the data subject could not be concluded.&lt;br /&gt;
&lt;br /&gt;
Before personal data is provided by the data subject, the data subject must contact any employee. The employee clarifies to the data subject whether the provision of the personal data is required by law or contract or is necessary for the conclusion of the contract, whether there is an obligation to provide the personal data and the consequences of non-provision of the personal data.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;15. Existence of automated decision-making&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;As a responsible company, we do not use automatic decision-making or profiling.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This Privacy Policy has been generated by the Privacy Policy Generator of the &amp;lt;a href=&amp;quot;https://dg-datenschutz.de/?lang=en&amp;quot;&amp;gt;German Association for Data Protection&amp;lt;/a&amp;gt; that was developed in cooperation with  &amp;lt;a href=&amp;quot;https://www.wbs-law.de/eng/practice-areas/internet-law/it-law/&amp;quot;&amp;gt;Privacy Lawyers&amp;lt;/a&amp;gt; from WILDE BEUGER SOLMECKE, Cologne.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte_-_Beispiele&amp;diff=25176</id>
		<title>Datenschutz - Mustertexte - Beispiele</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte_-_Beispiele&amp;diff=25176"/>
		<updated>2021-01-12T11:28:16Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solmecke Basic + Google Anaytics == &lt;br /&gt;
Quelle: https://dsgvo-muster-datenschutzerklaerung.dg-datenschutz.de/ 2021-01&lt;br /&gt;
&lt;br /&gt;
=== Deutsch ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;Datenschutzerklärung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wir freuen uns sehr über Ihr Interesse an unserem Unternehmen. Datenschutz hat einen besonders hohen Stellenwert für die Geschäftsleitung der info@dojatec-vub.de. Eine Nutzung der Internetseiten der info@dojatec-vub.de ist grundsätzlich ohne jede Angabe personenbezogener Daten möglich. Sofern eine betroffene Person besondere Services unseres Unternehmens über unsere Internetseite in Anspruch nehmen möchte, könnte jedoch eine Verarbeitung personenbezogener Daten erforderlich werden. Ist die Verarbeitung personenbezogener Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir generell eine Einwilligung der betroffenen Person ein.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die Verarbeitung personenbezogener Daten, beispielsweise des Namens, der Anschrift, E-Mail-Adresse oder Telefonnummer einer betroffenen Person, erfolgt stets im Einklang mit der Datenschutz-Grundverordnung und in Übereinstimmung mit den für die info@dojatec-vub.de geltenden landesspezifischen Datenschutzbestimmungen. Mittels dieser Datenschutzerklärung möchte unser Unternehmen die Öffentlichkeit über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren. Ferner werden betroffene Personen mittels dieser Datenschutzerklärung über die ihnen zustehenden Rechte aufgeklärt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die info@dojatec-vub.de hat als für die Verarbeitung Verantwortlicher zahlreiche technische und organisatorische Maßnahmen umgesetzt, um einen möglichst lückenlosen Schutz der über diese Internetseite verarbeiteten personenbezogenen Daten sicherzustellen. Dennoch können Internetbasierte Datenübertragungen grundsätzlich Sicherheitslücken aufweisen, sodass ein absoluter Schutz nicht gewährleistet werden kann. Aus diesem Grund steht es jeder betroffenen Person frei, personenbezogene Daten auch auf alternativen Wegen, beispielsweise telefonisch, an uns zu übermitteln.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;1. Begriffsbestimmungen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Datenschutzerklärung der info@dojatec-vub.de beruht auf den Begrifflichkeiten, die durch den Europäischen Richtlinien- und Verordnungsgeber beim Erlass der Datenschutz-Grundverordnung (DS-GVO) verwendet wurden. Unsere Datenschutzerklärung soll sowohl für die Öffentlichkeit als auch für unsere Kunden und Geschäftspartner einfach lesbar und verständlich sein. Um dies zu gewährleisten, möchten wir vorab die verwendeten Begrifflichkeiten erläutern.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wir verwenden in dieser Datenschutzerklärung unter anderem die folgenden Begriffe:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a)    personenbezogene Daten&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Personenbezogene Daten sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden „betroffene Person“) beziehen. Als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung oder zu einem oder mehreren besonderen Merkmalen, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind, identifiziert werden kann.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b)    betroffene Person&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Betroffene Person ist jede identifizierte oder identifizierbare natürliche Person, deren personenbezogene Daten von dem für die Verarbeitung Verantwortlichen verarbeitet werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c)    Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verarbeitung ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführte Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten wie das Erheben, das Erfassen, die Organisation, das Ordnen, die Speicherung, die Anpassung oder Veränderung, das Auslesen, das Abfragen, die Verwendung, die Offenlegung durch Übermittlung, Verbreitung oder eine andere Form der Bereitstellung, den Abgleich oder die Verknüpfung, die Einschränkung, das Löschen oder die Vernichtung.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;d)    Einschränkung der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Einschränkung der Verarbeitung ist die Markierung gespeicherter personenbezogener Daten mit dem Ziel, ihre künftige Verarbeitung einzuschränken.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e)    Profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Profiling ist jede Art der automatisierten Verarbeitung personenbezogener Daten, die darin besteht, dass diese personenbezogenen Daten verwendet werden, um bestimmte persönliche Aspekte, die sich auf eine natürliche Person beziehen, zu bewerten, insbesondere, um Aspekte bezüglich Arbeitsleistung, wirtschaftlicher Lage, Gesundheit, persönlicher Vorlieben, Interessen, Zuverlässigkeit, Verhalten, Aufenthaltsort oder Ortswechsel dieser natürlichen Person zu analysieren oder vorherzusagen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f)     Pseudonymisierung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Pseudonymisierung ist die Verarbeitung personenbezogener Daten in einer Weise, auf welche die personenbezogenen Daten ohne Hinzuziehung zusätzlicher Informationen nicht mehr einer spezifischen betroffenen Person zugeordnet werden können, sofern diese zusätzlichen Informationen gesondert aufbewahrt werden und technischen und organisatorischen Maßnahmen unterliegen, die gewährleisten, dass die personenbezogenen Daten nicht einer identifizierten oder identifizierbaren natürlichen Person zugewiesen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;g)    Verantwortlicher oder für die Verarbeitung Verantwortlicher&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verantwortlicher oder für die Verarbeitung Verantwortlicher ist die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten entscheidet. Sind die Zwecke und Mittel dieser Verarbeitung durch das Unionsrecht oder das Recht der Mitgliedstaaten vorgegeben, so kann der Verantwortliche beziehungsweise können die bestimmten Kriterien seiner Benennung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten vorgesehen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h)    Auftragsverarbeiter&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Auftragsverarbeiter ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die personenbezogene Daten im Auftrag des Verantwortlichen verarbeitet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i)      Empfänger&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Empfänger ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, der personenbezogene Daten offengelegt werden, unabhängig davon, ob es sich bei ihr um einen Dritten handelt oder nicht. Behörden, die im Rahmen eines bestimmten Untersuchungsauftrags nach dem Unionsrecht oder dem Recht der Mitgliedstaaten möglicherweise personenbezogene Daten erhalten, gelten jedoch nicht als Empfänger.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;j)      Dritter&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Dritter ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle außer der betroffenen Person, dem Verantwortlichen, dem Auftragsverarbeiter und den Personen, die unter der unmittelbaren Verantwortung des Verantwortlichen oder des Auftragsverarbeiters befugt sind, die personenbezogenen Daten zu verarbeiten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;k)    Einwilligung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Einwilligung ist jede von der betroffenen Person freiwillig für den bestimmten Fall in informierter Weise und unmissverständlich abgegebene Willensbekundung in Form einer Erklärung oder einer sonstigen eindeutigen bestätigenden Handlung, mit der die betroffene Person zu verstehen gibt, dass sie mit der Verarbeitung der sie betreffenden personenbezogenen Daten einverstanden ist.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;2. Name und Anschrift des für die Verarbeitung Verantwortlichen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verantwortlicher im Sinne der Datenschutz-Grundverordnung, sonstiger in den Mitgliedstaaten der Europäischen Union geltenden Datenschutzgesetze und anderer Bestimmungen mit datenschutzrechtlichem Charakter ist die:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;info@dojatec-vub.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Schillerstraße 20&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;72144 Dusslingen&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Deutschland&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Tel.: 07072 / 9293-0&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;E-Mail: dealer@stephanschlegel.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Website: dojatec.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;3. Cookies&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseiten der info@dojatec-vub.de verwenden Cookies. Cookies sind Textdateien, welche über einen Internetbrowser auf einem Computersystem abgelegt und gespeichert werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zahlreiche Internetseiten und Server verwenden Cookies. Viele Cookies enthalten eine sogenannte Cookie-ID. Eine Cookie-ID ist eine eindeutige Kennung des Cookies. Sie besteht aus einer Zeichenfolge, durch welche Internetseiten und Server dem konkreten Internetbrowser zugeordnet werden können, in dem das Cookie gespeichert wurde. Dies ermöglicht es den besuchten Internetseiten und Servern, den individuellen Browser der betroffenen Person von anderen Internetbrowsern, die andere Cookies enthalten, zu unterscheiden. Ein bestimmter Internetbrowser kann über die eindeutige Cookie-ID wiedererkannt und identifiziert werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch den Einsatz von Cookies kann die info@dojatec-vub.de den Nutzern dieser Internetseite nutzerfreundlichere Services bereitstellen, die ohne die Cookie-Setzung nicht möglich wären.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels eines Cookies können die Informationen und Angebote auf unserer Internetseite im Sinne des Benutzers optimiert werden. Cookies ermöglichen uns, wie bereits erwähnt, die Benutzer unserer Internetseite wiederzuerkennen. Zweck dieser Wiedererkennung ist es, den Nutzern die Verwendung unserer Internetseite zu erleichtern. Der Benutzer einer Internetseite, die Cookies verwendet, muss beispielsweise nicht bei jedem Besuch der Internetseite erneut seine Zugangsdaten eingeben, weil dies von der Internetseite und dem auf dem Computersystem des Benutzers abgelegten Cookie übernommen wird. Ein weiteres Beispiel ist das Cookie eines Warenkorbes im Online-Shop. Der Online-Shop merkt sich die Artikel, die ein Kunde in den virtuellen Warenkorb gelegt hat, über ein Cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Ferner können bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden. Dies ist in allen gängigen Internetbrowsern möglich. Deaktiviert die betroffene Person die Setzung von Cookies in dem genutzten Internetbrowser, sind unter Umständen nicht alle Funktionen unserer Internetseite vollumfänglich nutzbar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;4. Erfassung von allgemeinen Daten und Informationen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseite der info@dojatec-vub.de erfasst mit jedem Aufruf der Internetseite durch eine betroffene Person oder ein automatisiertes System eine Reihe von allgemeinen Daten und Informationen. Diese allgemeinen Daten und Informationen werden in den Logfiles des Servers gespeichert. Erfasst werden können die (1) verwendeten Browsertypen und Versionen, (2) das vom zugreifenden System verwendete Betriebssystem, (3) die Internetseite, von welcher ein zugreifendes System auf unsere Internetseite gelangt (sogenannte Referrer), (4) die Unterwebseiten, welche über ein zugreifendes System auf unserer Internetseite angesteuert werden, (5) das Datum und die Uhrzeit eines Zugriffs auf die Internetseite, (6) eine Internet-Protokoll-Adresse (IP-Adresse), (7) der Internet-Service-Provider des zugreifenden Systems und (8) sonstige ähnliche Daten und Informationen, die der Gefahrenabwehr im Falle von Angriffen auf unsere informationstechnologischen Systeme dienen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Bei der Nutzung dieser allgemeinen Daten und Informationen zieht die info@dojatec-vub.de keine Rückschlüsse auf die betroffene Person. Diese Informationen werden vielmehr benötigt, um (1) die Inhalte unserer Internetseite korrekt auszuliefern, (2) die Inhalte unserer Internetseite sowie die Werbung für diese zu optimieren, (3) die dauerhafte Funktionsfähigkeit unserer informationstechnologischen Systeme und der Technik unserer Internetseite zu gewährleisten sowie (4) um Strafverfolgungsbehörden im Falle eines Cyberangriffes die zur Strafverfolgung notwendigen Informationen bereitzustellen. Diese anonym erhobenen Daten und Informationen werden durch die info@dojatec-vub.de daher einerseits statistisch und ferner mit dem Ziel ausgewertet, den Datenschutz und die Datensicherheit in unserem Unternehmen zu erhöhen, um letztlich ein optimales Schutzniveau für die von uns verarbeiteten personenbezogenen Daten sicherzustellen. Die anonymen Daten der Server-Logfiles werden getrennt von allen durch eine betroffene Person angegebenen personenbezogenen Daten gespeichert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;5. Kontaktmöglichkeit über die Internetseite&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseite der info@dojatec-vub.de enthält aufgrund von gesetzlichen Vorschriften Angaben, die eine schnelle elektronische Kontaktaufnahme zu unserem Unternehmen sowie eine unmittelbare Kommunikation mit uns ermöglichen, was ebenfalls eine allgemeine Adresse der sogenannten elektronischen Post (E-Mail-Adresse) umfasst. Sofern eine betroffene Person per E-Mail oder über ein Kontaktformular den Kontakt mit dem für die Verarbeitung Verantwortlichen aufnimmt, werden die von der betroffenen Person übermittelten personenbezogenen Daten automatisch gespeichert. Solche auf freiwilliger Basis von einer betroffenen Person an den für die Verarbeitung Verantwortlichen übermittelten personenbezogenen Daten werden für Zwecke der Bearbeitung oder der Kontaktaufnahme zur betroffenen Person gespeichert. Es erfolgt keine Weitergabe dieser personenbezogenen Daten an Dritte.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;6. Routinemäßige Löschung und Sperrung von personenbezogenen Daten&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche verarbeitet und speichert personenbezogene Daten der betroffenen Person nur für den Zeitraum, der zur Erreichung des Speicherungszwecks erforderlich ist oder sofern dies durch den Europäischen Richtlinien- und Verordnungsgeber oder einen anderen Gesetzgeber in Gesetzen oder Vorschriften, welchen der für die Verarbeitung Verantwortliche unterliegt, vorgesehen wurde.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Entfällt der Speicherungszweck oder läuft eine vom Europäischen Richtlinien- und Verordnungsgeber oder einem anderen zuständigen Gesetzgeber vorgeschriebene Speicherfrist ab, werden die personenbezogenen Daten routinemäßig und entsprechend den gesetzlichen Vorschriften gesperrt oder gelöscht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;7. Rechte der betroffenen Person&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a)    Recht auf Bestätigung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber eingeräumte Recht, von dem für die Verarbeitung Verantwortlichen eine Bestätigung darüber zu verlangen, ob sie betreffende personenbezogene Daten verarbeitet werden. Möchte eine betroffene Person dieses Bestätigungsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b)    Recht auf Auskunft&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, jederzeit von dem für die Verarbeitung Verantwortlichen unentgeltliche Auskunft über die zu seiner Person gespeicherten personenbezogenen Daten und eine Kopie dieser Auskunft zu erhalten. Ferner hat der Europäische Richtlinien- und Verordnungsgeber der betroffenen Person Auskunft über folgende Informationen zugestanden:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Verarbeitungszwecke&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Kategorien personenbezogener Daten, die verarbeitet werden&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Empfänger oder Kategorien von Empfängern, gegenüber denen die personenbezogenen Daten offengelegt worden sind oder noch offengelegt werden, insbesondere bei Empfängern in Drittländern oder bei internationalen Organisationen&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;falls möglich die geplante Dauer, für die die personenbezogenen Daten gespeichert werden, oder, falls dies nicht möglich ist, die Kriterien für die Festlegung dieser Dauer&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen eines Rechts auf Berichtigung oder Löschung der sie betreffenden personenbezogenen Daten oder auf Einschränkung der Verarbeitung durch den Verantwortlichen oder eines Widerspruchsrechts gegen diese Verarbeitung&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen eines Beschwerderechts bei einer Aufsichtsbehörde&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;wenn die personenbezogenen Daten nicht bei der betroffenen Person erhoben werden: Alle verfügbaren Informationen über die Herkunft der Daten&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling gemäß Artikel 22 Abs.1 und 4 DS-GVO und — zumindest in diesen Fällen — aussagekräftige Informationen über die involvierte Logik sowie die Tragweite und die angestrebten Auswirkungen einer derartigen Verarbeitung für die betroffene Person&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner steht der betroffenen Person ein Auskunftsrecht darüber zu, ob personenbezogene Daten an ein Drittland oder an eine internationale Organisation übermittelt wurden. Sofern dies der Fall ist, so steht der betroffenen Person im Übrigen das Recht zu, Auskunft über die geeigneten Garantien im Zusammenhang mit der Übermittlung zu erhalten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte eine betroffene Person dieses Auskunftsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c)    Recht auf Berichtigung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, die unverzügliche Berichtigung sie betreffender unrichtiger personenbezogener Daten zu verlangen. Ferner steht der betroffenen Person das Recht zu, unter Berücksichtigung der Zwecke der Verarbeitung, die Vervollständigung unvollständiger personenbezogener Daten — auch mittels einer ergänzenden Erklärung — zu verlangen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte eine betroffene Person dieses Berichtigungsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;d)    Recht auf Löschung (Recht auf Vergessen werden)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, von dem Verantwortlichen zu verlangen, dass die sie betreffenden personenbezogenen Daten unverzüglich gelöscht werden, sofern einer der folgenden Gründe zutrifft und soweit die Verarbeitung nicht erforderlich ist:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden für solche Zwecke erhoben oder auf sonstige Weise verarbeitet, für welche sie nicht mehr notwendig sind.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person widerruft ihre Einwilligung, auf die sich die Verarbeitung gemäß Art. 6 Abs. 1 Buchstabe a DS-GVO oder Art. 9 Abs. 2 Buchstabe a DS-GVO stützte, und es fehlt an einer anderweitigen Rechtsgrundlage für die Verarbeitung.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person legt gemäß Art. 21 Abs. 1 DS-GVO Widerspruch gegen die Verarbeitung ein, und es liegen keine vorrangigen berechtigten Gründe für die Verarbeitung vor, oder die betroffene Person legt gemäß Art. 21 Abs. 2 DS-GVO Widerspruch gegen die Verarbeitung ein.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden unrechtmäßig verarbeitet.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Löschung der personenbezogenen Daten ist zur Erfüllung einer rechtlichen Verpflichtung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten erforderlich, dem der Verantwortliche unterliegt.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden in Bezug auf angebotene Dienste der Informationsgesellschaft gemäß Art. 8 Abs. 1 DS-GVO erhoben.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern einer der oben genannten Gründe zutrifft und eine betroffene Person die Löschung von personenbezogenen Daten, die bei der info@dojatec-vub.de gespeichert sind, veranlassen möchte, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden. Der Mitarbeiter der info@dojatec-vub.de wird veranlassen, dass dem Löschverlangen unverzüglich nachgekommen wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wurden die personenbezogenen Daten von der info@dojatec-vub.de öffentlich gemacht und ist unser Unternehmen als Verantwortlicher gemäß Art. 17 Abs. 1 DS-GVO zur Löschung der personenbezogenen Daten verpflichtet, so trifft die info@dojatec-vub.de unter Berücksichtigung der verfügbaren Technologie und der Implementierungskosten angemessene Maßnahmen, auch technischer Art, um andere für die Datenverarbeitung Verantwortliche, welche die veröffentlichten personenbezogenen Daten verarbeiten, darüber in Kenntnis zu setzen, dass die betroffene Person von diesen anderen für die Datenverarbeitung Verantwortlichen die Löschung sämtlicher Links zu diesen personenbezogenen Daten oder von Kopien oder Replikationen dieser personenbezogenen Daten verlangt hat, soweit die Verarbeitung nicht erforderlich ist. Der Mitarbeiter der info@dojatec-vub.de wird im Einzelfall das Notwendige veranlassen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e)    Recht auf Einschränkung der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, von dem Verantwortlichen die Einschränkung der Verarbeitung zu verlangen, wenn eine der folgenden Voraussetzungen gegeben ist:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Richtigkeit der personenbezogenen Daten wird von der betroffenen Person bestritten, und zwar für eine Dauer, die es dem Verantwortlichen ermöglicht, die Richtigkeit der personenbezogenen Daten zu überprüfen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Verarbeitung ist unrechtmäßig, die betroffene Person lehnt die Löschung der personenbezogenen Daten ab und verlangt stattdessen die Einschränkung der Nutzung der personenbezogenen Daten.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Der Verantwortliche benötigt die personenbezogenen Daten für die Zwecke der Verarbeitung nicht länger, die betroffene Person benötigt sie jedoch zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person hat Widerspruch gegen die Verarbeitung gem. Art. 21 Abs. 1 DS-GVO eingelegt und es steht noch nicht fest, ob die berechtigten Gründe des Verantwortlichen gegenüber denen der betroffenen Person überwiegen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern eine der oben genannten Voraussetzungen gegeben ist und eine betroffene Person die Einschränkung von personenbezogenen Daten, die bei der info@dojatec-vub.de gespeichert sind, verlangen möchte, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden. Der Mitarbeiter der info@dojatec-vub.de wird die Einschränkung der Verarbeitung veranlassen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f)     Recht auf Datenübertragbarkeit&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, die sie betreffenden personenbezogenen Daten, welche durch die betroffene Person einem Verantwortlichen bereitgestellt wurden, in einem strukturierten, gängigen und maschinenlesbaren Format zu erhalten. Sie hat außerdem das Recht, diese Daten einem anderen Verantwortlichen ohne Behinderung durch den Verantwortlichen, dem die personenbezogenen Daten bereitgestellt wurden, zu übermitteln, sofern die Verarbeitung auf der Einwilligung gemäß Art. 6 Abs. 1 Buchstabe a DS-GVO oder Art. 9 Abs. 2 Buchstabe a DS-GVO oder auf einem Vertrag gemäß Art. 6 Abs. 1 Buchstabe b DS-GVO beruht und die Verarbeitung mithilfe automatisierter Verfahren erfolgt, sofern die Verarbeitung nicht für die Wahrnehmung einer Aufgabe erforderlich ist, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, welche dem Verantwortlichen übertragen wurde.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner hat die betroffene Person bei der Ausübung ihres Rechts auf Datenübertragbarkeit gemäß Art. 20 Abs. 1 DS-GVO das Recht, zu erwirken, dass die personenbezogenen Daten direkt von einem Verantwortlichen an einen anderen Verantwortlichen übermittelt werden, soweit dies technisch machbar ist und sofern hiervon nicht die Rechte und Freiheiten anderer Personen beeinträchtigt werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zur Geltendmachung des Rechts auf Datenübertragbarkeit kann sich die betroffene Person jederzeit an einen Mitarbeiter der info@dojatec-vub.de wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;g)    Recht auf Widerspruch&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung sie betreffender personenbezogener Daten, die aufgrund von Art. 6 Abs. 1 Buchstaben e oder f DS-GVO erfolgt, Widerspruch einzulegen. Dies gilt auch für ein auf diese Bestimmungen gestütztes Profiling.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die info@dojatec-vub.de verarbeitet die personenbezogenen Daten im Falle des Widerspruchs nicht mehr, es sei denn, wir können zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die den Interessen, Rechten und Freiheiten der betroffenen Person überwiegen, oder die Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Verarbeitet die info@dojatec-vub.de personenbezogene Daten, um Direktwerbung zu betreiben, so hat die betroffene Person das Recht, jederzeit Widerspruch gegen die Verarbeitung der personenbezogenen Daten zum Zwecke derartiger Werbung einzulegen. Dies gilt auch für das Profiling, soweit es mit solcher Direktwerbung in Verbindung steht. Widerspricht die betroffene Person gegenüber der info@dojatec-vub.de der Verarbeitung für Zwecke der Direktwerbung, so wird die info@dojatec-vub.de die personenbezogenen Daten nicht mehr für diese Zwecke verarbeiten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zudem hat die betroffene Person das Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, gegen die sie betreffende Verarbeitung personenbezogener Daten, die bei der info@dojatec-vub.de zu wissenschaftlichen oder historischen Forschungszwecken oder zu statistischen Zwecken gemäß Art. 89 Abs. 1 DS-GVO erfolgen, Widerspruch einzulegen, es sei denn, eine solche Verarbeitung ist zur Erfüllung einer im öffentlichen Interesse liegenden Aufgabe erforderlich.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zur Ausübung des Rechts auf Widerspruch kann sich die betroffene Person direkt an jeden Mitarbeiter der info@dojatec-vub.de oder einen anderen Mitarbeiter wenden. Der betroffenen Person steht es ferner frei, im Zusammenhang mit der Nutzung von Diensten der Informationsgesellschaft, ungeachtet der Richtlinie 2002/58/EG, ihr Widerspruchsrecht mittels automatisierter Verfahren auszuüben, bei denen technische Spezifikationen verwendet werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h)    Automatisierte Entscheidungen im Einzelfall einschließlich Profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, nicht einer ausschließlich auf einer automatisierten Verarbeitung — einschließlich Profiling — beruhenden Entscheidung unterworfen zu werden, die ihr gegenüber rechtliche Wirkung entfaltet oder sie in ähnlicher Weise erheblich beeinträchtigt, sofern die Entscheidung (1) nicht für den Abschluss oder die Erfüllung eines Vertrags zwischen der betroffenen Person und dem Verantwortlichen erforderlich ist, oder (2) aufgrund von Rechtsvorschriften der Union oder der Mitgliedstaaten, denen der Verantwortliche unterliegt, zulässig ist und diese Rechtsvorschriften angemessene Maßnahmen zur Wahrung der Rechte und Freiheiten sowie der berechtigten Interessen der betroffenen Person enthalten oder (3) mit ausdrücklicher Einwilligung der betroffenen Person erfolgt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ist die Entscheidung (1) für den Abschluss oder die Erfüllung eines Vertrags zwischen der betroffenen Person und dem Verantwortlichen erforderlich oder (2) erfolgt sie mit ausdrücklicher Einwilligung der betroffenen Person, trifft die info@dojatec-vub.de angemessene Maßnahmen, um die Rechte und Freiheiten sowie die berechtigten Interessen der betroffenen Person zu wahren, wozu mindestens das Recht auf Erwirkung des Eingreifens einer Person seitens des Verantwortlichen, auf Darlegung des eigenen Standpunkts und auf Anfechtung der Entscheidung gehört.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte die betroffene Person Rechte mit Bezug auf automatisierte Entscheidungen geltend machen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i)      Recht auf Widerruf einer datenschutzrechtlichen Einwilligung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, eine Einwilligung zur Verarbeitung personenbezogener Daten jederzeit zu widerrufen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte die betroffene Person ihr Recht auf Widerruf einer Einwilligung geltend machen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;8. Datenschutz bei Bewerbungen und im Bewerbungsverfahren&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche erhebt und verarbeitet die personenbezogenen Daten von Bewerbern zum Zwecke der Abwicklung des Bewerbungsverfahrens. Die Verarbeitung kann auch auf elektronischem Wege erfolgen. Dies ist insbesondere dann der Fall, wenn ein Bewerber entsprechende Bewerbungsunterlagen auf dem elektronischen Wege, beispielsweise per E-Mail oder über ein auf der Internetseite befindliches Webformular, an den für die Verarbeitung Verantwortlichen übermittelt. Schließt der für die Verarbeitung Verantwortliche einen Anstellungsvertrag mit einem Bewerber, werden die übermittelten Daten zum Zwecke der Abwicklung des Beschäftigungsverhältnisses unter Beachtung der gesetzlichen Vorschriften gespeichert. Wird von dem für die Verarbeitung Verantwortlichen kein Anstellungsvertrag mit dem Bewerber geschlossen, so werden die Bewerbungsunterlagen zwei Monate nach Bekanntgabe der Absageentscheidung automatisch gelöscht, sofern einer Löschung keine sonstigen berechtigten Interessen des für die Verarbeitung Verantwortlichen entgegenstehen. Sonstiges berechtigtes Interesse in diesem Sinne ist beispielsweise eine Beweispflicht in einem Verfahren nach dem Allgemeinen Gleichbehandlungsgesetz (AGG).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;9. Datenschutzbestimmungen zu Einsatz und Verwendung von Google Analytics (mit Anonymisierungsfunktion)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite die Komponente Google Analytics (mit Anonymisierungsfunktion) integriert. Google Analytics ist ein Web-Analyse-Dienst. Web-Analyse ist die Erhebung, Sammlung und Auswertung von Daten über das Verhalten von Besuchern von Internetseiten. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Internetseite eine betroffene Person auf eine Internetseite gekommen ist (sogenannte Referrer), auf welche Unterseiten der Internetseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde. Eine Web-Analyse wird überwiegend zur Optimierung einer Internetseite und zur Kosten-Nutzen-Analyse von Internetwerbung eingesetzt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft der Google-Analytics-Komponente ist die Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche verwendet für die Web-Analyse über Google Analytics den Zusatz &amp;quot;_gat._anonymizeIp&amp;quot;. Mittels dieses Zusatzes wird die IP-Adresse des Internetanschlusses der betroffenen Person von Google gekürzt und anonymisiert, wenn der Zugriff auf unsere Internetseiten aus einem Mitgliedstaat der Europäischen Union oder aus einem anderen Vertragsstaat des Abkommens über den Europäischen Wirtschaftsraum erfolgt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der Zweck der Google-Analytics-Komponente ist die Analyse der Besucherströme auf unserer Internetseite. Google nutzt die gewonnenen Daten und Informationen unter anderem dazu, die Nutzung unserer Internetseite auszuwerten, um für uns Online-Reports, welche die Aktivitäten auf unseren Internetseiten aufzeigen, zusammenzustellen, und um weitere mit der Nutzung unserer Internetseite in Verbindung stehende Dienstleistungen zu erbringen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Google Analytics setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Mit Setzung des Cookies wird Google eine Analyse der Benutzung unserer Internetseite ermöglicht. Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Google-Analytics-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Google-Analytics-Komponente veranlasst, Daten zum Zwecke der Online-Analyse an Google zu übermitteln. Im Rahmen dieses technischen Verfahrens erhält Google Kenntnis über personenbezogene Daten, wie der IP-Adresse der betroffenen Person, die Google unter anderem dazu dienen, die Herkunft der Besucher und Klicks nachzuvollziehen und in der Folge Provisionsabrechnungen zu ermöglichen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels des Cookies werden personenbezogene Informationen, beispielsweise die Zugriffszeit, der Ort, von welchem ein Zugriff ausging und die Häufigkeit der Besuche unserer Internetseite durch die betroffene Person, gespeichert. Bei jedem Besuch unserer Internetseiten werden diese personenbezogenen Daten, einschließlich der IP-Adresse des von der betroffenen Person genutzten Internetanschlusses, an Google in den Vereinigten Staaten von Amerika übertragen. Diese personenbezogenen Daten werden durch Google in den Vereinigten Staaten von Amerika gespeichert. Google gibt diese über das technische Verfahren erhobenen personenbezogenen Daten unter Umständen an Dritte weiter.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Google ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem kann ein von Google Analytics bereits gesetzter Cookie jederzeit über den Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch Google Analytics erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch Google zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person ein Browser-Add-On unter dem Link https://tools.google.com/dlpage/gaoptout herunterladen und installieren. Dieses Browser-Add-On teilt Google Analytics über JavaScript mit, dass keine Daten und Informationen zu den Besuchen von Internetseiten an Google Analytics übermittelt werden dürfen. Die Installation des Browser-Add-Ons wird von Google als Widerspruch gewertet. Wird das informationstechnologische System der betroffenen Person zu einem späteren Zeitpunkt gelöscht, formatiert oder neu installiert, muss durch die betroffene Person eine erneute Installation des Browser-Add-Ons erfolgen, um Google Analytics zu deaktivieren. Sofern das Browser-Add-On durch die betroffene Person oder einer anderen Person, die ihrem Machtbereich zuzurechnen ist, deinstalliert oder deaktiviert wird, besteht die Möglichkeit der Neuinstallation oder der erneuten Aktivierung des Browser-Add-Ons.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Google können unter https://www.google.de/intl/de/policies/privacy/ und unter http://www.google.com/analytics/terms/de.html abgerufen werden. Google Analytics wird unter diesem Link https://www.google.com/intl/de_de/analytics/ genauer erläutert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;10. Datenschutzbestimmungen zu Einsatz und Verwendung von Instagram&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten des Dienstes Instagram integriert. Instagram ist ein Dienst, der als audiovisuelle Plattform zu qualifizieren ist und den Nutzern das Teilen von Fotos und Videos und zudem eine Weiterverbreitung solcher Daten in anderen sozialen Netzwerken ermöglicht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft der Dienste von Instagram ist die Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2 Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Instagram-Komponente (Insta-Button) integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Instagram-Komponente veranlasst, eine Darstellung der entsprechenden Komponente von Instagram herunterzuladen. Im Rahmen dieses technischen Verfahrens erhält Instagram Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei Instagram eingeloggt ist, erkennt Instagram mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite die betroffene Person besucht. Diese Informationen werden durch die Instagram-Komponente gesammelt und durch Instagram dem jeweiligen Instagram-Account der betroffenen Person zugeordnet. Betätigt die betroffene Person einen der auf unserer Internetseite integrierten Instagram-Buttons, werden die damit übertragenen Daten und Informationen dem persönlichen Instagram-Benutzerkonto der betroffenen Person zugeordnet und von Instagram gespeichert und verarbeitet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Instagram erhält über die Instagram-Komponente immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufs unserer Internetseite gleichzeitig bei Instagram eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person die Instagram-Komponente anklickt oder nicht. Ist eine derartige Übermittlung dieser Informationen an Instagram von der betroffenen Person nicht gewollt, kann diese die Übermittlung dadurch verhindern, dass sie sich vor einem Aufruf unserer Internetseite aus ihrem Instagram-Account ausloggt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Instagram können unter https://help.instagram.com/155833707900388 und https://www.instagram.com/about/legal/privacy/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;11. Rechtsgrundlage der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Art. 6 I lit. a DS-GVO dient unserem Unternehmen als Rechtsgrundlage für Verarbeitungsvorgänge, bei denen wir eine Einwilligung für einen bestimmten Verarbeitungszweck einholen. Ist die Verarbeitung personenbezogener Daten zur Erfüllung eines Vertrags, dessen Vertragspartei die betroffene Person ist, erforderlich, wie dies beispielsweise bei Verarbeitungsvorgängen der Fall ist, die für eine Lieferung von Waren oder die Erbringung einer sonstigen Leistung oder Gegenleistung notwendig sind, so beruht die Verarbeitung auf Art. 6 I lit. b DS-GVO. Gleiches gilt für solche Verarbeitungsvorgänge die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind, etwa in Fällen von Anfragen zur unseren Produkten oder Leistungen. Unterliegt unser Unternehmen einer rechtlichen Verpflichtung durch welche eine Verarbeitung von personenbezogenen Daten erforderlich wird, wie beispielsweise zur Erfüllung steuerlicher Pflichten, so basiert die Verarbeitung auf Art. 6 I lit. c DS-GVO. In seltenen Fällen könnte die Verarbeitung von personenbezogenen Daten erforderlich werden, um lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person zu schützen. Dies wäre beispielsweise der Fall, wenn ein Besucher in unserem Betrieb verletzt werden würde und daraufhin sein Name, sein Alter, seine Krankenkassendaten oder sonstige lebenswichtige Informationen an einen Arzt, ein Krankenhaus oder sonstige Dritte weitergegeben werden müssten. Dann würde die Verarbeitung auf Art. 6 I lit. d DS-GVO beruhen.&lt;br /&gt;
Letztlich könnten Verarbeitungsvorgänge auf Art. 6 I lit. f DS-GVO beruhen. Auf dieser Rechtsgrundlage basieren Verarbeitungsvorgänge, die von keiner der vorgenannten Rechtsgrundlagen erfasst werden, wenn die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich ist, sofern die Interessen, Grundrechte und Grundfreiheiten des Betroffenen nicht überwiegen. Solche Verarbeitungsvorgänge sind uns insbesondere deshalb gestattet, weil sie durch den Europäischen Gesetzgeber besonders erwähnt wurden. Er vertrat insoweit die Auffassung, dass ein berechtigtes Interesse anzunehmen sein könnte, wenn die betroffene Person ein Kunde des Verantwortlichen ist (Erwägungsgrund 47 Satz 2 DS-GVO).&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;12. Berechtigte Interessen an der Verarbeitung, die von dem Verantwortlichen oder einem Dritten verfolgt werden&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Basiert die Verarbeitung personenbezogener Daten auf Artikel 6 I lit. f DS-GVO ist unser berechtigtes Interesse die Durchführung unserer Geschäftstätigkeit zugunsten des Wohlergehens all unserer Mitarbeiter und unserer Anteilseigner.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;13. Dauer, für die die personenbezogenen Daten gespeichert werden&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Das Kriterium für die Dauer der Speicherung von personenbezogenen Daten ist die jeweilige gesetzliche Aufbewahrungsfrist. Nach Ablauf der Frist werden die entsprechenden Daten routinemäßig gelöscht, sofern sie nicht mehr zur Vertragserfüllung oder Vertragsanbahnung erforderlich sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;14. Gesetzliche oder vertragliche Vorschriften zur Bereitstellung der personenbezogenen Daten; Erforderlichkeit für den Vertragsabschluss; Verpflichtung der betroffenen Person, die personenbezogenen Daten bereitzustellen; mögliche Folgen der Nichtbereitstellung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wir klären Sie darüber auf, dass die Bereitstellung personenbezogener Daten zum Teil gesetzlich vorgeschrieben ist (z.B. Steuervorschriften) oder sich auch aus vertraglichen Regelungen (z.B. Angaben zum Vertragspartner) ergeben kann.&lt;br /&gt;
Mitunter kann es zu einem Vertragsschluss erforderlich sein, dass eine betroffene Person uns personenbezogene Daten zur Verfügung stellt, die in der Folge durch uns verarbeitet werden müssen. Die betroffene Person ist beispielsweise verpflichtet uns personenbezogene Daten bereitzustellen, wenn unser Unternehmen mit ihr einen Vertrag abschließt. Eine Nichtbereitstellung der personenbezogenen Daten hätte zur Folge, dass der Vertrag mit dem Betroffenen nicht geschlossen werden könnte.&lt;br /&gt;
Vor einer Bereitstellung personenbezogener Daten durch den Betroffenen muss sich der Betroffene an einen unserer Mitarbeiter wenden. Unser Mitarbeiter klärt den Betroffenen einzelfallbezogen darüber auf, ob die Bereitstellung der personenbezogenen Daten gesetzlich oder vertraglich vorgeschrieben oder für den Vertragsabschluss erforderlich ist, ob eine Verpflichtung besteht, die personenbezogenen Daten bereitzustellen, und welche Folgen die Nichtbereitstellung der personenbezogenen Daten hätte.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;15. Bestehen einer automatisierten Entscheidungsfindung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Als verantwortungsbewusstes Unternehmen verzichten wir auf eine automatische Entscheidungsfindung oder ein Profiling.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Diese Datenschutzerklärung wurde durch den Datenschutzerklärungs-Generator der DGD Deutsche Gesellschaft für Datenschutz GmbH, die als &amp;lt;a href=&amp;quot;https://dg-datenschutz.de/datenschutz-dienstleistungen/externer-datenschutzbeauftragter/&amp;quot;&amp;gt;Datenschutzbeauftragter&amp;lt;/a&amp;gt; tätig ist, in Kooperation mit den &amp;lt;a href=&amp;quot;https://www.wbs-law.de/it-recht/datenschutzrecht/&amp;quot;&amp;gt;Datenschutz Anwälten der Kanzlei WILDE BEUGER SOLMECKE | Rechtsanwälte&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt; erstellt.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Englisch ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;Privacy Policy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;We are very delighted that you have shown interest in our enterprise. Data protection is of a particularly high priority for the management of the info@dojatec-vub.de. The use of the Internet pages of the info@dojatec-vub.de is possible without any indication of personal data; however, if a data subject wants to use special enterprise services via our website, processing of personal data could become necessary. If the processing of personal data is necessary and there is no statutory basis for such processing, we generally obtain consent from the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The processing of personal data, such as the name, address, e-mail address, or telephone number of a data subject shall always be in line with the General Data Protection Regulation (GDPR), and in accordance with the country-specific data protection regulations applicable to the info@dojatec-vub.de. By means of this data protection declaration, our enterprise would like to inform the general public of the nature, scope, and purpose of the personal data we collect, use and process. Furthermore, data subjects are informed, by means of this data protection declaration, of the rights to which they are entitled.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;As the controller, the info@dojatec-vub.de has implemented numerous technical and organizational measures to ensure the most complete protection of personal data processed through this website. However, Internet-based data transmissions may in principle have security gaps, so absolute protection may not be guaranteed. For this reason, every data subject is free to transfer personal data to us via alternative means, e.g. by telephone. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;1. Definitions&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The data protection declaration of the info@dojatec-vub.de is based on the terms used by the European legislator for the adoption of the General Data Protection Regulation (GDPR). Our data protection declaration should be legible and understandable for the general public, as well as our customers and business partners. To ensure this, we would like to first explain the terminology used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In this data protection declaration, we use, inter alia, the following terms:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a)    Personal data&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Personal data means any information relating to an identified or identifiable natural person (“data subject”). An identifiable natural person is one who can be identified, directly or indirectly, in particular by reference to an identifier such as a name, an identification number, location data, an online identifier or to one or more factors specific to the physical, physiological, genetic, mental, economic, cultural or social identity of that natural person.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b) Data subject&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Data subject is any identified or identifiable natural person, whose personal data is processed by the controller responsible for the processing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c)    Processing&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Processing is any operation or set of operations which is performed on personal data or on sets of personal data, whether or not by automated means, such as collection, recording, organisation, structuring, storage, adaptation or alteration, retrieval, consultation, use, disclosure by transmission, dissemination or otherwise making available, alignment or combination, restriction, erasure or destruction. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;d)    Restriction of processing&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Restriction of processing is the marking of stored personal data with the aim of limiting their processing in the future. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e)    Profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Profiling means any form of automated processing of personal data consisting of the use of personal data to evaluate certain personal aspects relating to a natural person, in particular to analyse or predict aspects concerning that natural person&amp;#039;s performance at work, economic situation, health, personal preferences, interests, reliability, behaviour, location or movements. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f)     Pseudonymisation&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Pseudonymisation is the processing of personal data in such a manner that the personal data can no longer be attributed to a specific data subject without the use of additional information, provided that such additional information is kept separately and is subject to technical and organisational measures to ensure that the personal data are not attributed to an identified or identifiable natural person. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;g)    Controller or controller responsible for the processing&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Controller or controller responsible for the processing is the natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of personal data; where the purposes and means of such processing are determined by Union or Member State law, the controller or the specific criteria for its nomination may be provided for by Union or Member State law. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h)    Processor&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Processor is a natural or legal person, public authority, agency or other body which processes personal data on behalf of the controller. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i)      Recipient&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Recipient is a natural or legal person, public authority, agency or another body, to which the personal data are disclosed, whether a third party or not. However, public authorities which may receive personal data in the framework of a particular inquiry in accordance with Union or Member State law shall not be regarded as recipients; the processing of those data by those public authorities shall be in compliance with the applicable data protection rules according to the purposes of the processing. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;j)      Third party&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Third party is a natural or legal person, public authority, agency or body other than the data subject, controller, processor and persons who, under the direct authority of the controller or processor, are authorised to process personal data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;k)    Consent&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Consent of the data subject is any freely given, specific, informed and unambiguous indication of the data subject&amp;#039;s wishes by which he or she, by a statement or by a clear affirmative action, signifies agreement to the processing of personal data relating to him or her. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;2. Name and Address of the controller&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Controller for the purposes of the General Data Protection Regulation (GDPR), other data protection laws applicable in Member states of the European Union and other provisions related to data protection is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;info@dojatec-vub.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Schillerstraße 20&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;72144 Dusslingen&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Deutschland&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Phone: 07072 / 9293-0&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Email: dealer@stephanschlegel.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Website: dojatec.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;3. Cookies&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The Internet pages of the info@dojatec-vub.de use cookies. Cookies are text files that are stored in a computer system via an Internet browser.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Many Internet sites and servers use cookies. Many cookies contain a so-called cookie ID. A cookie ID is a unique identifier of the cookie. It consists of a character string through which Internet pages and servers can be assigned to the specific Internet browser in which the cookie was stored. This allows visited Internet sites and servers to differentiate the individual browser of the dats subject from other Internet browsers that contain other cookies. A specific Internet browser can be recognized and identified using the unique cookie ID.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Through the use of cookies, the info@dojatec-vub.de can provide the users of this website with more user-friendly services that would not be possible without the cookie setting.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;By means of a cookie, the information and offers on our website can be optimized with the user in mind. Cookies allow us, as previously mentioned, to recognize our website users. The purpose of this recognition is to make it easier for users to utilize our website. The website user that uses cookies, e.g. does not have to enter access data each time the website is accessed, because this is taken over by the website, and the cookie is thus stored on the user&amp;#039;s computer system. Another example is the cookie of a shopping cart in an online shop. The online store remembers the articles that a customer has placed in the virtual shopping cart via a cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, at any time, prevent the setting of cookies through our website by means of a corresponding setting of the Internet browser used, and may thus permanently deny the setting of cookies. Furthermore, already set cookies may be deleted at any time via an Internet browser or other software programs. This is possible in all popular Internet browsers. If the data subject deactivates the setting of cookies in the Internet browser used, not all functions of our website may be entirely usable.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;4. Collection of general data and information&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The website of the info@dojatec-vub.de collects a series of general data and information when a data subject or automated system calls up the website. This general data and information are stored in the server log files. Collected may be (1) the browser types and versions used, (2) the operating system used by the accessing system, (3) the website from which an accessing system reaches our website (so-called referrers), (4) the sub-websites, (5) the date and time of access to the Internet site, (6) an Internet protocol address (IP address), (7) the Internet service provider of the accessing system, and (8) any other similar data and information that may be used in the event of attacks on our information technology systems.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;When using these general data and information, the info@dojatec-vub.de does not draw any conclusions about the data subject. Rather, this information is needed to (1) deliver the content of our website correctly, (2) optimize the content of our website as well as its advertisement, (3) ensure the long-term viability of our information technology systems and website technology, and (4) provide law enforcement authorities with the information necessary for criminal prosecution in case of a cyber-attack. Therefore, the info@dojatec-vub.de analyzes anonymously collected data and information statistically, with the aim of increasing the data protection and data security of our enterprise, and to ensure an optimal level of protection for the personal data we process. The anonymous data of the server log files are stored separately from all personal data provided by a data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;5. Contact possibility via the website &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The website of the info@dojatec-vub.de contains information that enables a quick electronic contact to our enterprise, as well as direct communication with us, which also includes a general address of the so-called electronic mail (e-mail address). If a data subject contacts the controller by e-mail or via a contact form, the personal data transmitted by the data subject are automatically stored. Such personal data transmitted on a voluntary basis by a data subject to the data controller are stored for the purpose of processing or contacting the data subject. There is no transfer of this personal data to third parties.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;6. Routine erasure and blocking of personal data&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The data controller shall process and store the personal data of the data subject only for the period necessary to achieve the purpose of storage, or as far as this is granted by the European legislator or other legislators in laws or regulations to which the controller is subject to.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the storage purpose is not applicable, or if a storage period prescribed by the European legislator or another competent legislator expires, the personal data are routinely blocked or erased in accordance with legal requirements.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;7. Rights of the data subject&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a) Right of confirmation&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to obtain from the controller the confirmation as to whether or not personal data concerning him or her are being processed. If a data subject wishes to avail himself of this right of confirmation, he or she may, at any time, contact any employee of the controller.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b) Right of access&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to obtain from the controller free information about his or her personal data stored at any time and a copy of this information. Furthermore, the European directives and regulations grant the data subject access to the following information:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the purposes of the processing;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the categories of personal data concerned;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the recipients or categories of recipients to whom the personal data have been or will be disclosed, in particular recipients in third countries or international organisations;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;where possible, the envisaged period for which the personal data will be stored, or, if not possible, the criteria used to determine that period;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the existence of the right to request from the controller rectification or erasure of personal data, or restriction of processing of personal data concerning the data subject, or to object to such processing;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the existence of the right to lodge a complaint with a supervisory authority;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;where the personal data are not collected from the data subject, any available information as to their source;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the existence of automated decision-making, including profiling, referred to in Article 22(1) and (4) of the GDPR and, at least in those cases, meaningful information about the logic involved, as well as the significance and envisaged consequences of such processing for the data subject.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Furthermore, the data subject shall have a right to obtain information as to whether personal data are transferred to a third country or to an international organisation. Where this is the case, the data subject shall have the right to be informed of the appropriate safeguards relating to the transfer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If a data subject wishes to avail himself of this right of access, he or she may, at any time, contact any employee of the controller.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c) Right to rectification &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to obtain from the controller without undue delay the rectification of inaccurate personal data concerning him or her. Taking into account the purposes of the processing, the data subject shall have the right to have incomplete personal data completed, including by means of providing a supplementary statement.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If a data subject wishes to exercise this right to rectification, he or she may, at any time, contact any employee of the controller.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;d) Right to erasure (Right to be forgotten) &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to obtain from the controller the erasure of personal data concerning him or her without undue delay, and the controller shall have the obligation to erase personal data without undue delay where one of the following grounds applies, as long as the processing is not necessary: &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The personal data are no longer necessary in relation to the purposes for which they were collected or otherwise processed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The data subject withdraws consent to which the processing is based according to point (a) of Article 6(1) of the GDPR, or point (a) of Article 9(2) of the GDPR, and where there is no other legal ground for the processing.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The data subject objects to the processing pursuant to Article 21(1) of the GDPR and there are no overriding legitimate grounds for the processing, or the data subject objects to the processing pursuant to Article 21(2) of the GDPR. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The personal data have been unlawfully processed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The personal data must be erased for compliance with a legal obligation in Union or Member State law to which the controller is subject.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The personal data have been collected in relation to the offer of information society services referred to in Article 8(1) of the GDPR.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If one of the aforementioned reasons applies, and a data subject wishes to request the erasure of personal data stored by the info@dojatec-vub.de, he or she may, at any time, contact any employee of the controller. An employee of info@dojatec-vub.de shall promptly ensure that the erasure request is complied with immediately.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Where the controller has made personal data public and is obliged pursuant to Article 17(1) to erase the personal data, the controller, taking account of available technology and the cost of implementation, shall take reasonable steps, including technical measures, to inform other controllers processing the personal data that the data subject has requested erasure by such controllers of any links to, or copy or replication of, those personal data, as far as processing is not required. An employees of the info@dojatec-vub.de will arrange the necessary measures in individual cases.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e) Right of restriction of processing&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to obtain from the controller restriction of processing where one of the following applies:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The accuracy of the personal data is contested by the data subject, for a period enabling the controller to verify the accuracy of the personal data. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The processing is unlawful and the data subject opposes the erasure of the personal data and requests instead the restriction of their use instead.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The controller no longer needs the personal data for the purposes of the processing, but they are required by the data subject for the establishment, exercise or defence of legal claims.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The data subject has objected to processing pursuant to Article 21(1) of the GDPR pending the verification whether the legitimate grounds of the controller override those of the data subject.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If one of the aforementioned conditions is met, and a data subject wishes to request the restriction of the processing of personal data stored by the info@dojatec-vub.de, he or she may at any time contact any employee of the controller. The employee of the info@dojatec-vub.de will arrange the restriction of the processing. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f) Right to data portability&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator, to receive the personal data concerning him or her, which was provided to a controller, in a structured, commonly used and machine-readable format. He or she shall have the right to transmit those data to another controller without hindrance from the controller to which the personal data have been provided, as long as the processing is based on consent pursuant to point (a) of Article 6(1) of the GDPR or point (a) of Article 9(2) of the GDPR, or on a contract pursuant to point (b) of Article 6(1) of the GDPR, and the processing is carried out by automated means, as long as the processing is not necessary for the performance of a task carried out in the public interest or in the exercise of official authority vested in the controller.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Furthermore, in exercising his or her right to data portability pursuant to Article 20(1) of the GDPR, the data subject shall have the right to have personal data transmitted directly from one controller to another, where technically feasible and when doing so does not adversely affect the rights and freedoms of others.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In order to assert the right to data portability, the data subject may at any time contact any employee of the info@dojatec-vub.de.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;g) Right to object&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to object, on grounds relating to his or her particular situation, at any time, to processing of personal data concerning him or her, which is based on point (e) or (f) of Article 6(1) of the GDPR. This also applies to profiling based on these provisions.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The info@dojatec-vub.de shall no longer process the personal data in the event of the objection, unless we can demonstrate compelling legitimate grounds for the processing which override the interests, rights and freedoms of the data subject, or for the establishment, exercise or defence of legal claims.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the info@dojatec-vub.de processes personal data for direct marketing purposes, the data subject shall have the right to object at any time to processing of personal data concerning him or her for such marketing. This applies to profiling to the extent that it is related to such direct marketing. If the data subject objects to the info@dojatec-vub.de to the processing for direct marketing purposes, the info@dojatec-vub.de will no longer process the personal data for these purposes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the right, on grounds relating to his or her particular situation, to object to processing of personal data concerning him or her by the info@dojatec-vub.de for scientific or historical research purposes, or for statistical purposes pursuant to Article 89(1) of the GDPR, unless the processing is necessary for the performance of a task carried out for reasons of public interest.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In order to exercise the right to object, the data subject may contact any employee of the info@dojatec-vub.de. In addition, the data subject is free in the context of the use of information society services, and notwithstanding Directive 2002/58/EC, to use his or her right to object by automated means using technical specifications.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h) Automated individual decision-making, including profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator not to be subject to a decision based solely on automated processing, including profiling, which produces legal effects concerning him or her, or similarly significantly affects him or her, as long as the decision (1) is not is necessary for entering into, or the performance of, a contract between the data subject and a data controller, or (2) is not authorised by Union or Member State law to which the controller is subject and which also lays down suitable measures to safeguard the data subject&amp;#039;s rights and freedoms and legitimate interests, or (3) is not based on the data subject&amp;#039;s explicit consent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the decision (1) is necessary for entering into, or the performance of, a contract between the data subject and a data controller, or (2) it is based on the data subject&amp;#039;s explicit consent, the info@dojatec-vub.de shall implement suitable measures to safeguard the data subject&amp;#039;s rights and freedoms and legitimate interests, at least the right to obtain human intervention on the part of the controller, to express his or her point of view and contest the decision.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject wishes to exercise the rights concerning automated individual decision-making, he or she may, at any time, contact any employee of the info@dojatec-vub.de.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i) Right to withdraw data protection consent &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Each data subject shall have the right granted by the European legislator to withdraw his or her consent to processing of his or her personal data at any time. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject wishes to exercise the right to withdraw the consent, he or she may, at any time, contact any employee of the info@dojatec-vub.de.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;8. Data protection for applications and the application procedures&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The data controller shall collect and process the personal data of applicants for the purpose of the processing of the application procedure. The processing may also be carried out electronically. This is the case, in particular, if an applicant submits corresponding application documents by e-mail or by means of a web form on the website to the controller. If the data controller concludes an employment contract with an applicant, the submitted data will be stored for the purpose of processing the employment relationship in compliance with legal requirements. If no employment contract is concluded with the applicant by the controller, the application documents shall be automatically erased two months after notification of the refusal decision, provided that no other legitimate interests of the controller are opposed to the erasure. Other legitimate interest in this relation is, e.g. a burden of proof in a procedure under the General Equal Treatment Act (AGG).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;9. Data protection provisions about the application and use of Google Analytics (with anonymization function)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated the component of Google Analytics (with the anonymizer function). Google Analytics is a web analytics service. Web analytics is the collection, gathering, and analysis of data about the behavior of visitors to websites. A web analysis service collects, inter alia, data about the website from which a person has come (the so-called referrer), which sub-pages were visited, or how often and for what duration a sub-page was viewed. Web analytics are mainly used for the optimization of a website and in order to carry out a cost-benefit analysis of Internet advertising.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operator of the Google Analytics component is Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For the web analytics through Google Analytics the controller uses the application &amp;quot;_gat. _anonymizeIp&amp;quot;. By means of this application the IP address of the Internet connection of the data subject is abridged by Google and anonymised when accessing our websites from a Member State of the European Union or another Contracting State to the Agreement on the European Economic Area.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The purpose of the Google Analytics component is to analyze the traffic on our website. Google uses the collected data and information, inter alia, to evaluate the use of our website and to provide online reports, which show the activities on our websites, and to provide other services concerning the use of our Internet site for us.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Google Analytics places a cookie on the information technology system of the data subject. The definition of cookies is explained above. With the setting of the cookie, Google is enabled to analyze the use of our website. With each call-up to one of the individual pages of this Internet site, which is operated by the controller and into which a Google Analytics component was integrated, the Internet browser on the information technology system of the data subject will automatically submit data through the Google Analytics component for the purpose of online advertising and the settlement of commissions to Google. During the course of this technical procedure, the enterprise Google gains knowledge of personal information, such as the IP address of the data subject, which serves Google, inter alia, to understand the origin of visitors and clicks, and subsequently create commission settlements.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The cookie is used to store personal information, such as the access time, the location from which the access was made, and the frequency of visits of our website by the data subject. With each visit to our Internet site, such personal data, including the IP address of the Internet access used by the data subject, will be transmitted to Google in the United States of America. These personal data are stored by Google in the United States of America. Google may pass these personal data collected through the technical procedure to third parties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Google Analytics from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Google Analytics may be deleted at any time via a web browser or other software programs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the data subject has the possibility of objecting to a collection of data that are generated by Google Analytics, which is related to the use of this website, as well as the processing of this data by Google and the chance to preclude any such. For this purpose, the data subject must download a browser add-on under the link https://tools.google.com/dlpage/gaoptout and install it. This browser add-on tells Google Analytics through a JavaScript, that any data and information about the visits of Internet pages may not be transmitted to Google Analytics. The installation of the browser add-ons is considered an objection by Google. If the information technology system of the data subject is later deleted, formatted, or newly installed, then the data subject must reinstall the browser add-ons to disable Google Analytics. If the browser add-on was uninstalled by the data subject or any other person who is attributable to their sphere of competence, or is disabled, it is possible to execute the reinstallation or reactivation of the browser add-ons.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the applicable data protection provisions of Google may be retrieved under https://www.google.com/intl/en/policies/privacy/ and under http://www.google.com/analytics/terms/us.html. Google Analytics is further explained under the following Link https://www.google.com/analytics/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;10. Data protection provisions about the application and use of Instagram&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;On this website, the controller has integrated components of the service Instagram. Instagram is a service that may be qualified as an audiovisual platform, which allows users to share photos and videos, as well as disseminate such data in other social networks.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The operating company of the services offered by Instagram is Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2 Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;With each call-up to one of the individual pages of this Internet site, which is operated by the controller and on which an Instagram component (Insta button) was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to the download of a display of the corresponding Instagram component of Instagram. During the course of this technical procedure, Instagram becomes aware of what specific sub-page of our website was visited by the data subject.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the data subject is logged in at the same time on Instagram, Instagram detects with every call-up to our website by the data subject—and for the entire duration of their stay on our Internet site—which specific sub-page of our Internet page was visited by the data subject. This information is collected through the Instagram component and is associated with the respective Instagram account of the data subject. If the data subject clicks on one of the Instagram buttons integrated on our website, then Instagram matches this information with the personal Instagram user account of the data subject and stores the personal data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Instagram receives information via the Instagram component that the data subject has visited our website provided that the data subject is logged in at Instagram at the time of the call to our website. This occurs regardless of whether the person clicks on the Instagram button or not. If such a transmission of information to Instagram is not desirable for the data subject, then he or she can prevent this by logging off from their Instagram account before a call-up to our website is made.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Further information and the applicable data protection provisions of Instagram may be retrieved under https://help.instagram.com/155833707900388 and https://www.instagram.com/about/legal/privacy/.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;11. Legal basis for the processing &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Art. 6(1) lit. a GDPR serves as the legal basis for processing operations for which we obtain consent for a specific processing purpose. If the processing of personal data is necessary for the performance of a contract to which the data subject is party, as is the case, for example, when processing operations are necessary for the supply of goods or to provide any other service, the processing is based on Article 6(1) lit. b GDPR. The same applies to such processing operations which are necessary for carrying out pre-contractual measures, for example in the case of inquiries concerning our products or services. Is our company subject to a legal obligation by which processing of personal data is required, such as for the fulfillment of tax obligations, the processing is based on Art. 6(1) lit. c GDPR.&lt;br /&gt;
In rare cases, the processing of personal data may be necessary to protect the vital interests of the data subject or of another natural person. This would be the case, for example, if a visitor were injured in our company and his name, age, health insurance data or other vital information would have to be passed on to a doctor, hospital or other third party. Then the processing would be based on Art. 6(1) lit. d GDPR.&lt;br /&gt;
Finally, processing operations could be based on Article 6(1) lit. f GDPR. This legal basis is used for processing operations which are not covered by any of the abovementioned legal grounds, if processing is necessary for the purposes of the legitimate interests pursued by our company or by a third party, except where such interests are overridden by the interests or fundamental rights and freedoms of the data subject which require protection of personal data. Such processing operations are particularly permissible because they have been specifically mentioned by the European legislator. He considered that a legitimate interest could be assumed if the data subject is a client of the controller (Recital 47 Sentence 2 GDPR).&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;12. The legitimate interests pursued by the controller or by a third party&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Where the processing of personal data is based on Article 6(1) lit. f GDPR our legitimate interest is to carry out our business in favor of the well-being of all our employees and the shareholders.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;13. Period for which the personal data will be stored&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The criteria used to determine the period of storage of personal data is the respective statutory retention period. After expiration of that period, the corresponding data is routinely deleted, as long as it is no longer necessary for the fulfillment of the contract or the initiation of a contract.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;14. Provision of personal data as statutory or contractual requirement; Requirement necessary to enter into a contract; Obligation of the data subject to provide the personal data; possible consequences of failure to provide such data &amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;We clarify that the provision of personal data is partly required by law (e.g. tax regulations) or can also result from contractual provisions (e.g. information on the contractual partner).&lt;br /&gt;
&lt;br /&gt;
Sometimes it may be necessary to conclude a contract that the data subject provides us with personal data, which must subsequently be processed by us. The data subject is, for example, obliged to provide us with personal data when our company signs a contract with him or her. The non-provision of the personal data would have the consequence that the contract with the data subject could not be concluded.&lt;br /&gt;
&lt;br /&gt;
Before personal data is provided by the data subject, the data subject must contact any employee. The employee clarifies to the data subject whether the provision of the personal data is required by law or contract or is necessary for the conclusion of the contract, whether there is an obligation to provide the personal data and the consequences of non-provision of the personal data.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;15. Existence of automated decision-making&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;As a responsible company, we do not use automatic decision-making or profiling.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This Privacy Policy has been generated by the Privacy Policy Generator of the &amp;lt;a href=&amp;quot;https://dg-datenschutz.de/?lang=en&amp;quot;&amp;gt;German Association for Data Protection&amp;lt;/a&amp;gt; that was developed in cooperation with  &amp;lt;a href=&amp;quot;https://www.wbs-law.de/eng/practice-areas/internet-law/it-law/&amp;quot;&amp;gt;Privacy Lawyers&amp;lt;/a&amp;gt; from WILDE BEUGER SOLMECKE, Cologne.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte_-_Beispiele&amp;diff=25175</id>
		<title>Datenschutz - Mustertexte - Beispiele</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte_-_Beispiele&amp;diff=25175"/>
		<updated>2021-01-12T11:25:20Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Beispiel Solmecke mit Google Analytics https://dsgvo-muster-datenschutzerklaerung.dg-datenschutz.de/&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;Datenschutzerklärung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wir freuen uns sehr über Ihr Interesse an unserem Unternehmen. Datenschutz hat einen besonders hohen Stellenwert für die Geschäftsleitung der info@dojatec-vub.de. Eine Nutzung der Internetseiten der info@dojatec-vub.de ist grundsätzlich ohne jede Angabe personenbezogener Daten möglich. Sofern eine betroffene Person besondere Services unseres Unternehmens über unsere Internetseite in Anspruch nehmen möchte, könnte jedoch eine Verarbeitung personenbezogener Daten erforderlich werden. Ist die Verarbeitung personenbezogener Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir generell eine Einwilligung der betroffenen Person ein.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die Verarbeitung personenbezogener Daten, beispielsweise des Namens, der Anschrift, E-Mail-Adresse oder Telefonnummer einer betroffenen Person, erfolgt stets im Einklang mit der Datenschutz-Grundverordnung und in Übereinstimmung mit den für die info@dojatec-vub.de geltenden landesspezifischen Datenschutzbestimmungen. Mittels dieser Datenschutzerklärung möchte unser Unternehmen die Öffentlichkeit über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren. Ferner werden betroffene Personen mittels dieser Datenschutzerklärung über die ihnen zustehenden Rechte aufgeklärt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die info@dojatec-vub.de hat als für die Verarbeitung Verantwortlicher zahlreiche technische und organisatorische Maßnahmen umgesetzt, um einen möglichst lückenlosen Schutz der über diese Internetseite verarbeiteten personenbezogenen Daten sicherzustellen. Dennoch können Internetbasierte Datenübertragungen grundsätzlich Sicherheitslücken aufweisen, sodass ein absoluter Schutz nicht gewährleistet werden kann. Aus diesem Grund steht es jeder betroffenen Person frei, personenbezogene Daten auch auf alternativen Wegen, beispielsweise telefonisch, an uns zu übermitteln.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;1. Begriffsbestimmungen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Datenschutzerklärung der info@dojatec-vub.de beruht auf den Begrifflichkeiten, die durch den Europäischen Richtlinien- und Verordnungsgeber beim Erlass der Datenschutz-Grundverordnung (DS-GVO) verwendet wurden. Unsere Datenschutzerklärung soll sowohl für die Öffentlichkeit als auch für unsere Kunden und Geschäftspartner einfach lesbar und verständlich sein. Um dies zu gewährleisten, möchten wir vorab die verwendeten Begrifflichkeiten erläutern.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wir verwenden in dieser Datenschutzerklärung unter anderem die folgenden Begriffe:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a)    personenbezogene Daten&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Personenbezogene Daten sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden „betroffene Person“) beziehen. Als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung oder zu einem oder mehreren besonderen Merkmalen, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind, identifiziert werden kann.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b)    betroffene Person&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Betroffene Person ist jede identifizierte oder identifizierbare natürliche Person, deren personenbezogene Daten von dem für die Verarbeitung Verantwortlichen verarbeitet werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c)    Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verarbeitung ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführte Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten wie das Erheben, das Erfassen, die Organisation, das Ordnen, die Speicherung, die Anpassung oder Veränderung, das Auslesen, das Abfragen, die Verwendung, die Offenlegung durch Übermittlung, Verbreitung oder eine andere Form der Bereitstellung, den Abgleich oder die Verknüpfung, die Einschränkung, das Löschen oder die Vernichtung.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;d)    Einschränkung der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Einschränkung der Verarbeitung ist die Markierung gespeicherter personenbezogener Daten mit dem Ziel, ihre künftige Verarbeitung einzuschränken.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e)    Profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Profiling ist jede Art der automatisierten Verarbeitung personenbezogener Daten, die darin besteht, dass diese personenbezogenen Daten verwendet werden, um bestimmte persönliche Aspekte, die sich auf eine natürliche Person beziehen, zu bewerten, insbesondere, um Aspekte bezüglich Arbeitsleistung, wirtschaftlicher Lage, Gesundheit, persönlicher Vorlieben, Interessen, Zuverlässigkeit, Verhalten, Aufenthaltsort oder Ortswechsel dieser natürlichen Person zu analysieren oder vorherzusagen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f)     Pseudonymisierung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Pseudonymisierung ist die Verarbeitung personenbezogener Daten in einer Weise, auf welche die personenbezogenen Daten ohne Hinzuziehung zusätzlicher Informationen nicht mehr einer spezifischen betroffenen Person zugeordnet werden können, sofern diese zusätzlichen Informationen gesondert aufbewahrt werden und technischen und organisatorischen Maßnahmen unterliegen, die gewährleisten, dass die personenbezogenen Daten nicht einer identifizierten oder identifizierbaren natürlichen Person zugewiesen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;g)    Verantwortlicher oder für die Verarbeitung Verantwortlicher&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verantwortlicher oder für die Verarbeitung Verantwortlicher ist die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten entscheidet. Sind die Zwecke und Mittel dieser Verarbeitung durch das Unionsrecht oder das Recht der Mitgliedstaaten vorgegeben, so kann der Verantwortliche beziehungsweise können die bestimmten Kriterien seiner Benennung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten vorgesehen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h)    Auftragsverarbeiter&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Auftragsverarbeiter ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die personenbezogene Daten im Auftrag des Verantwortlichen verarbeitet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i)      Empfänger&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Empfänger ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, der personenbezogene Daten offengelegt werden, unabhängig davon, ob es sich bei ihr um einen Dritten handelt oder nicht. Behörden, die im Rahmen eines bestimmten Untersuchungsauftrags nach dem Unionsrecht oder dem Recht der Mitgliedstaaten möglicherweise personenbezogene Daten erhalten, gelten jedoch nicht als Empfänger.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;j)      Dritter&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Dritter ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle außer der betroffenen Person, dem Verantwortlichen, dem Auftragsverarbeiter und den Personen, die unter der unmittelbaren Verantwortung des Verantwortlichen oder des Auftragsverarbeiters befugt sind, die personenbezogenen Daten zu verarbeiten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;k)    Einwilligung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Einwilligung ist jede von der betroffenen Person freiwillig für den bestimmten Fall in informierter Weise und unmissverständlich abgegebene Willensbekundung in Form einer Erklärung oder einer sonstigen eindeutigen bestätigenden Handlung, mit der die betroffene Person zu verstehen gibt, dass sie mit der Verarbeitung der sie betreffenden personenbezogenen Daten einverstanden ist.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;2. Name und Anschrift des für die Verarbeitung Verantwortlichen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verantwortlicher im Sinne der Datenschutz-Grundverordnung, sonstiger in den Mitgliedstaaten der Europäischen Union geltenden Datenschutzgesetze und anderer Bestimmungen mit datenschutzrechtlichem Charakter ist die:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;info@dojatec-vub.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Schillerstraße 20&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;72144 Dusslingen&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Deutschland&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Tel.: 07072 / 9293-0&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;E-Mail: dealer@stephanschlegel.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Website: dojatec.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;3. Cookies&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseiten der info@dojatec-vub.de verwenden Cookies. Cookies sind Textdateien, welche über einen Internetbrowser auf einem Computersystem abgelegt und gespeichert werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zahlreiche Internetseiten und Server verwenden Cookies. Viele Cookies enthalten eine sogenannte Cookie-ID. Eine Cookie-ID ist eine eindeutige Kennung des Cookies. Sie besteht aus einer Zeichenfolge, durch welche Internetseiten und Server dem konkreten Internetbrowser zugeordnet werden können, in dem das Cookie gespeichert wurde. Dies ermöglicht es den besuchten Internetseiten und Servern, den individuellen Browser der betroffenen Person von anderen Internetbrowsern, die andere Cookies enthalten, zu unterscheiden. Ein bestimmter Internetbrowser kann über die eindeutige Cookie-ID wiedererkannt und identifiziert werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch den Einsatz von Cookies kann die info@dojatec-vub.de den Nutzern dieser Internetseite nutzerfreundlichere Services bereitstellen, die ohne die Cookie-Setzung nicht möglich wären.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels eines Cookies können die Informationen und Angebote auf unserer Internetseite im Sinne des Benutzers optimiert werden. Cookies ermöglichen uns, wie bereits erwähnt, die Benutzer unserer Internetseite wiederzuerkennen. Zweck dieser Wiedererkennung ist es, den Nutzern die Verwendung unserer Internetseite zu erleichtern. Der Benutzer einer Internetseite, die Cookies verwendet, muss beispielsweise nicht bei jedem Besuch der Internetseite erneut seine Zugangsdaten eingeben, weil dies von der Internetseite und dem auf dem Computersystem des Benutzers abgelegten Cookie übernommen wird. Ein weiteres Beispiel ist das Cookie eines Warenkorbes im Online-Shop. Der Online-Shop merkt sich die Artikel, die ein Kunde in den virtuellen Warenkorb gelegt hat, über ein Cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Ferner können bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden. Dies ist in allen gängigen Internetbrowsern möglich. Deaktiviert die betroffene Person die Setzung von Cookies in dem genutzten Internetbrowser, sind unter Umständen nicht alle Funktionen unserer Internetseite vollumfänglich nutzbar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;4. Erfassung von allgemeinen Daten und Informationen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseite der info@dojatec-vub.de erfasst mit jedem Aufruf der Internetseite durch eine betroffene Person oder ein automatisiertes System eine Reihe von allgemeinen Daten und Informationen. Diese allgemeinen Daten und Informationen werden in den Logfiles des Servers gespeichert. Erfasst werden können die (1) verwendeten Browsertypen und Versionen, (2) das vom zugreifenden System verwendete Betriebssystem, (3) die Internetseite, von welcher ein zugreifendes System auf unsere Internetseite gelangt (sogenannte Referrer), (4) die Unterwebseiten, welche über ein zugreifendes System auf unserer Internetseite angesteuert werden, (5) das Datum und die Uhrzeit eines Zugriffs auf die Internetseite, (6) eine Internet-Protokoll-Adresse (IP-Adresse), (7) der Internet-Service-Provider des zugreifenden Systems und (8) sonstige ähnliche Daten und Informationen, die der Gefahrenabwehr im Falle von Angriffen auf unsere informationstechnologischen Systeme dienen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Bei der Nutzung dieser allgemeinen Daten und Informationen zieht die info@dojatec-vub.de keine Rückschlüsse auf die betroffene Person. Diese Informationen werden vielmehr benötigt, um (1) die Inhalte unserer Internetseite korrekt auszuliefern, (2) die Inhalte unserer Internetseite sowie die Werbung für diese zu optimieren, (3) die dauerhafte Funktionsfähigkeit unserer informationstechnologischen Systeme und der Technik unserer Internetseite zu gewährleisten sowie (4) um Strafverfolgungsbehörden im Falle eines Cyberangriffes die zur Strafverfolgung notwendigen Informationen bereitzustellen. Diese anonym erhobenen Daten und Informationen werden durch die info@dojatec-vub.de daher einerseits statistisch und ferner mit dem Ziel ausgewertet, den Datenschutz und die Datensicherheit in unserem Unternehmen zu erhöhen, um letztlich ein optimales Schutzniveau für die von uns verarbeiteten personenbezogenen Daten sicherzustellen. Die anonymen Daten der Server-Logfiles werden getrennt von allen durch eine betroffene Person angegebenen personenbezogenen Daten gespeichert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;5. Kontaktmöglichkeit über die Internetseite&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseite der info@dojatec-vub.de enthält aufgrund von gesetzlichen Vorschriften Angaben, die eine schnelle elektronische Kontaktaufnahme zu unserem Unternehmen sowie eine unmittelbare Kommunikation mit uns ermöglichen, was ebenfalls eine allgemeine Adresse der sogenannten elektronischen Post (E-Mail-Adresse) umfasst. Sofern eine betroffene Person per E-Mail oder über ein Kontaktformular den Kontakt mit dem für die Verarbeitung Verantwortlichen aufnimmt, werden die von der betroffenen Person übermittelten personenbezogenen Daten automatisch gespeichert. Solche auf freiwilliger Basis von einer betroffenen Person an den für die Verarbeitung Verantwortlichen übermittelten personenbezogenen Daten werden für Zwecke der Bearbeitung oder der Kontaktaufnahme zur betroffenen Person gespeichert. Es erfolgt keine Weitergabe dieser personenbezogenen Daten an Dritte.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;6. Routinemäßige Löschung und Sperrung von personenbezogenen Daten&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche verarbeitet und speichert personenbezogene Daten der betroffenen Person nur für den Zeitraum, der zur Erreichung des Speicherungszwecks erforderlich ist oder sofern dies durch den Europäischen Richtlinien- und Verordnungsgeber oder einen anderen Gesetzgeber in Gesetzen oder Vorschriften, welchen der für die Verarbeitung Verantwortliche unterliegt, vorgesehen wurde.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Entfällt der Speicherungszweck oder läuft eine vom Europäischen Richtlinien- und Verordnungsgeber oder einem anderen zuständigen Gesetzgeber vorgeschriebene Speicherfrist ab, werden die personenbezogenen Daten routinemäßig und entsprechend den gesetzlichen Vorschriften gesperrt oder gelöscht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;7. Rechte der betroffenen Person&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a)    Recht auf Bestätigung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber eingeräumte Recht, von dem für die Verarbeitung Verantwortlichen eine Bestätigung darüber zu verlangen, ob sie betreffende personenbezogene Daten verarbeitet werden. Möchte eine betroffene Person dieses Bestätigungsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b)    Recht auf Auskunft&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, jederzeit von dem für die Verarbeitung Verantwortlichen unentgeltliche Auskunft über die zu seiner Person gespeicherten personenbezogenen Daten und eine Kopie dieser Auskunft zu erhalten. Ferner hat der Europäische Richtlinien- und Verordnungsgeber der betroffenen Person Auskunft über folgende Informationen zugestanden:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Verarbeitungszwecke&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Kategorien personenbezogener Daten, die verarbeitet werden&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Empfänger oder Kategorien von Empfängern, gegenüber denen die personenbezogenen Daten offengelegt worden sind oder noch offengelegt werden, insbesondere bei Empfängern in Drittländern oder bei internationalen Organisationen&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;falls möglich die geplante Dauer, für die die personenbezogenen Daten gespeichert werden, oder, falls dies nicht möglich ist, die Kriterien für die Festlegung dieser Dauer&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen eines Rechts auf Berichtigung oder Löschung der sie betreffenden personenbezogenen Daten oder auf Einschränkung der Verarbeitung durch den Verantwortlichen oder eines Widerspruchsrechts gegen diese Verarbeitung&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen eines Beschwerderechts bei einer Aufsichtsbehörde&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;wenn die personenbezogenen Daten nicht bei der betroffenen Person erhoben werden: Alle verfügbaren Informationen über die Herkunft der Daten&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling gemäß Artikel 22 Abs.1 und 4 DS-GVO und — zumindest in diesen Fällen — aussagekräftige Informationen über die involvierte Logik sowie die Tragweite und die angestrebten Auswirkungen einer derartigen Verarbeitung für die betroffene Person&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner steht der betroffenen Person ein Auskunftsrecht darüber zu, ob personenbezogene Daten an ein Drittland oder an eine internationale Organisation übermittelt wurden. Sofern dies der Fall ist, so steht der betroffenen Person im Übrigen das Recht zu, Auskunft über die geeigneten Garantien im Zusammenhang mit der Übermittlung zu erhalten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte eine betroffene Person dieses Auskunftsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c)    Recht auf Berichtigung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, die unverzügliche Berichtigung sie betreffender unrichtiger personenbezogener Daten zu verlangen. Ferner steht der betroffenen Person das Recht zu, unter Berücksichtigung der Zwecke der Verarbeitung, die Vervollständigung unvollständiger personenbezogener Daten — auch mittels einer ergänzenden Erklärung — zu verlangen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte eine betroffene Person dieses Berichtigungsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;d)    Recht auf Löschung (Recht auf Vergessen werden)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, von dem Verantwortlichen zu verlangen, dass die sie betreffenden personenbezogenen Daten unverzüglich gelöscht werden, sofern einer der folgenden Gründe zutrifft und soweit die Verarbeitung nicht erforderlich ist:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden für solche Zwecke erhoben oder auf sonstige Weise verarbeitet, für welche sie nicht mehr notwendig sind.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person widerruft ihre Einwilligung, auf die sich die Verarbeitung gemäß Art. 6 Abs. 1 Buchstabe a DS-GVO oder Art. 9 Abs. 2 Buchstabe a DS-GVO stützte, und es fehlt an einer anderweitigen Rechtsgrundlage für die Verarbeitung.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person legt gemäß Art. 21 Abs. 1 DS-GVO Widerspruch gegen die Verarbeitung ein, und es liegen keine vorrangigen berechtigten Gründe für die Verarbeitung vor, oder die betroffene Person legt gemäß Art. 21 Abs. 2 DS-GVO Widerspruch gegen die Verarbeitung ein.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden unrechtmäßig verarbeitet.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Löschung der personenbezogenen Daten ist zur Erfüllung einer rechtlichen Verpflichtung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten erforderlich, dem der Verantwortliche unterliegt.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden in Bezug auf angebotene Dienste der Informationsgesellschaft gemäß Art. 8 Abs. 1 DS-GVO erhoben.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern einer der oben genannten Gründe zutrifft und eine betroffene Person die Löschung von personenbezogenen Daten, die bei der info@dojatec-vub.de gespeichert sind, veranlassen möchte, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden. Der Mitarbeiter der info@dojatec-vub.de wird veranlassen, dass dem Löschverlangen unverzüglich nachgekommen wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wurden die personenbezogenen Daten von der info@dojatec-vub.de öffentlich gemacht und ist unser Unternehmen als Verantwortlicher gemäß Art. 17 Abs. 1 DS-GVO zur Löschung der personenbezogenen Daten verpflichtet, so trifft die info@dojatec-vub.de unter Berücksichtigung der verfügbaren Technologie und der Implementierungskosten angemessene Maßnahmen, auch technischer Art, um andere für die Datenverarbeitung Verantwortliche, welche die veröffentlichten personenbezogenen Daten verarbeiten, darüber in Kenntnis zu setzen, dass die betroffene Person von diesen anderen für die Datenverarbeitung Verantwortlichen die Löschung sämtlicher Links zu diesen personenbezogenen Daten oder von Kopien oder Replikationen dieser personenbezogenen Daten verlangt hat, soweit die Verarbeitung nicht erforderlich ist. Der Mitarbeiter der info@dojatec-vub.de wird im Einzelfall das Notwendige veranlassen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e)    Recht auf Einschränkung der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, von dem Verantwortlichen die Einschränkung der Verarbeitung zu verlangen, wenn eine der folgenden Voraussetzungen gegeben ist:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Richtigkeit der personenbezogenen Daten wird von der betroffenen Person bestritten, und zwar für eine Dauer, die es dem Verantwortlichen ermöglicht, die Richtigkeit der personenbezogenen Daten zu überprüfen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Verarbeitung ist unrechtmäßig, die betroffene Person lehnt die Löschung der personenbezogenen Daten ab und verlangt stattdessen die Einschränkung der Nutzung der personenbezogenen Daten.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Der Verantwortliche benötigt die personenbezogenen Daten für die Zwecke der Verarbeitung nicht länger, die betroffene Person benötigt sie jedoch zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person hat Widerspruch gegen die Verarbeitung gem. Art. 21 Abs. 1 DS-GVO eingelegt und es steht noch nicht fest, ob die berechtigten Gründe des Verantwortlichen gegenüber denen der betroffenen Person überwiegen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern eine der oben genannten Voraussetzungen gegeben ist und eine betroffene Person die Einschränkung von personenbezogenen Daten, die bei der info@dojatec-vub.de gespeichert sind, verlangen möchte, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden. Der Mitarbeiter der info@dojatec-vub.de wird die Einschränkung der Verarbeitung veranlassen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f)     Recht auf Datenübertragbarkeit&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, die sie betreffenden personenbezogenen Daten, welche durch die betroffene Person einem Verantwortlichen bereitgestellt wurden, in einem strukturierten, gängigen und maschinenlesbaren Format zu erhalten. Sie hat außerdem das Recht, diese Daten einem anderen Verantwortlichen ohne Behinderung durch den Verantwortlichen, dem die personenbezogenen Daten bereitgestellt wurden, zu übermitteln, sofern die Verarbeitung auf der Einwilligung gemäß Art. 6 Abs. 1 Buchstabe a DS-GVO oder Art. 9 Abs. 2 Buchstabe a DS-GVO oder auf einem Vertrag gemäß Art. 6 Abs. 1 Buchstabe b DS-GVO beruht und die Verarbeitung mithilfe automatisierter Verfahren erfolgt, sofern die Verarbeitung nicht für die Wahrnehmung einer Aufgabe erforderlich ist, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, welche dem Verantwortlichen übertragen wurde.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner hat die betroffene Person bei der Ausübung ihres Rechts auf Datenübertragbarkeit gemäß Art. 20 Abs. 1 DS-GVO das Recht, zu erwirken, dass die personenbezogenen Daten direkt von einem Verantwortlichen an einen anderen Verantwortlichen übermittelt werden, soweit dies technisch machbar ist und sofern hiervon nicht die Rechte und Freiheiten anderer Personen beeinträchtigt werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zur Geltendmachung des Rechts auf Datenübertragbarkeit kann sich die betroffene Person jederzeit an einen Mitarbeiter der info@dojatec-vub.de wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;g)    Recht auf Widerspruch&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung sie betreffender personenbezogener Daten, die aufgrund von Art. 6 Abs. 1 Buchstaben e oder f DS-GVO erfolgt, Widerspruch einzulegen. Dies gilt auch für ein auf diese Bestimmungen gestütztes Profiling.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die info@dojatec-vub.de verarbeitet die personenbezogenen Daten im Falle des Widerspruchs nicht mehr, es sei denn, wir können zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die den Interessen, Rechten und Freiheiten der betroffenen Person überwiegen, oder die Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Verarbeitet die info@dojatec-vub.de personenbezogene Daten, um Direktwerbung zu betreiben, so hat die betroffene Person das Recht, jederzeit Widerspruch gegen die Verarbeitung der personenbezogenen Daten zum Zwecke derartiger Werbung einzulegen. Dies gilt auch für das Profiling, soweit es mit solcher Direktwerbung in Verbindung steht. Widerspricht die betroffene Person gegenüber der info@dojatec-vub.de der Verarbeitung für Zwecke der Direktwerbung, so wird die info@dojatec-vub.de die personenbezogenen Daten nicht mehr für diese Zwecke verarbeiten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zudem hat die betroffene Person das Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, gegen die sie betreffende Verarbeitung personenbezogener Daten, die bei der info@dojatec-vub.de zu wissenschaftlichen oder historischen Forschungszwecken oder zu statistischen Zwecken gemäß Art. 89 Abs. 1 DS-GVO erfolgen, Widerspruch einzulegen, es sei denn, eine solche Verarbeitung ist zur Erfüllung einer im öffentlichen Interesse liegenden Aufgabe erforderlich.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zur Ausübung des Rechts auf Widerspruch kann sich die betroffene Person direkt an jeden Mitarbeiter der info@dojatec-vub.de oder einen anderen Mitarbeiter wenden. Der betroffenen Person steht es ferner frei, im Zusammenhang mit der Nutzung von Diensten der Informationsgesellschaft, ungeachtet der Richtlinie 2002/58/EG, ihr Widerspruchsrecht mittels automatisierter Verfahren auszuüben, bei denen technische Spezifikationen verwendet werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h)    Automatisierte Entscheidungen im Einzelfall einschließlich Profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, nicht einer ausschließlich auf einer automatisierten Verarbeitung — einschließlich Profiling — beruhenden Entscheidung unterworfen zu werden, die ihr gegenüber rechtliche Wirkung entfaltet oder sie in ähnlicher Weise erheblich beeinträchtigt, sofern die Entscheidung (1) nicht für den Abschluss oder die Erfüllung eines Vertrags zwischen der betroffenen Person und dem Verantwortlichen erforderlich ist, oder (2) aufgrund von Rechtsvorschriften der Union oder der Mitgliedstaaten, denen der Verantwortliche unterliegt, zulässig ist und diese Rechtsvorschriften angemessene Maßnahmen zur Wahrung der Rechte und Freiheiten sowie der berechtigten Interessen der betroffenen Person enthalten oder (3) mit ausdrücklicher Einwilligung der betroffenen Person erfolgt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ist die Entscheidung (1) für den Abschluss oder die Erfüllung eines Vertrags zwischen der betroffenen Person und dem Verantwortlichen erforderlich oder (2) erfolgt sie mit ausdrücklicher Einwilligung der betroffenen Person, trifft die info@dojatec-vub.de angemessene Maßnahmen, um die Rechte und Freiheiten sowie die berechtigten Interessen der betroffenen Person zu wahren, wozu mindestens das Recht auf Erwirkung des Eingreifens einer Person seitens des Verantwortlichen, auf Darlegung des eigenen Standpunkts und auf Anfechtung der Entscheidung gehört.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte die betroffene Person Rechte mit Bezug auf automatisierte Entscheidungen geltend machen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i)      Recht auf Widerruf einer datenschutzrechtlichen Einwilligung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, eine Einwilligung zur Verarbeitung personenbezogener Daten jederzeit zu widerrufen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte die betroffene Person ihr Recht auf Widerruf einer Einwilligung geltend machen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;8. Datenschutz bei Bewerbungen und im Bewerbungsverfahren&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche erhebt und verarbeitet die personenbezogenen Daten von Bewerbern zum Zwecke der Abwicklung des Bewerbungsverfahrens. Die Verarbeitung kann auch auf elektronischem Wege erfolgen. Dies ist insbesondere dann der Fall, wenn ein Bewerber entsprechende Bewerbungsunterlagen auf dem elektronischen Wege, beispielsweise per E-Mail oder über ein auf der Internetseite befindliches Webformular, an den für die Verarbeitung Verantwortlichen übermittelt. Schließt der für die Verarbeitung Verantwortliche einen Anstellungsvertrag mit einem Bewerber, werden die übermittelten Daten zum Zwecke der Abwicklung des Beschäftigungsverhältnisses unter Beachtung der gesetzlichen Vorschriften gespeichert. Wird von dem für die Verarbeitung Verantwortlichen kein Anstellungsvertrag mit dem Bewerber geschlossen, so werden die Bewerbungsunterlagen zwei Monate nach Bekanntgabe der Absageentscheidung automatisch gelöscht, sofern einer Löschung keine sonstigen berechtigten Interessen des für die Verarbeitung Verantwortlichen entgegenstehen. Sonstiges berechtigtes Interesse in diesem Sinne ist beispielsweise eine Beweispflicht in einem Verfahren nach dem Allgemeinen Gleichbehandlungsgesetz (AGG).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;9. Datenschutzbestimmungen zu Einsatz und Verwendung von Google Analytics (mit Anonymisierungsfunktion)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite die Komponente Google Analytics (mit Anonymisierungsfunktion) integriert. Google Analytics ist ein Web-Analyse-Dienst. Web-Analyse ist die Erhebung, Sammlung und Auswertung von Daten über das Verhalten von Besuchern von Internetseiten. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Internetseite eine betroffene Person auf eine Internetseite gekommen ist (sogenannte Referrer), auf welche Unterseiten der Internetseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde. Eine Web-Analyse wird überwiegend zur Optimierung einer Internetseite und zur Kosten-Nutzen-Analyse von Internetwerbung eingesetzt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft der Google-Analytics-Komponente ist die Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche verwendet für die Web-Analyse über Google Analytics den Zusatz &amp;quot;_gat._anonymizeIp&amp;quot;. Mittels dieses Zusatzes wird die IP-Adresse des Internetanschlusses der betroffenen Person von Google gekürzt und anonymisiert, wenn der Zugriff auf unsere Internetseiten aus einem Mitgliedstaat der Europäischen Union oder aus einem anderen Vertragsstaat des Abkommens über den Europäischen Wirtschaftsraum erfolgt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der Zweck der Google-Analytics-Komponente ist die Analyse der Besucherströme auf unserer Internetseite. Google nutzt die gewonnenen Daten und Informationen unter anderem dazu, die Nutzung unserer Internetseite auszuwerten, um für uns Online-Reports, welche die Aktivitäten auf unseren Internetseiten aufzeigen, zusammenzustellen, und um weitere mit der Nutzung unserer Internetseite in Verbindung stehende Dienstleistungen zu erbringen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Google Analytics setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Mit Setzung des Cookies wird Google eine Analyse der Benutzung unserer Internetseite ermöglicht. Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Google-Analytics-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Google-Analytics-Komponente veranlasst, Daten zum Zwecke der Online-Analyse an Google zu übermitteln. Im Rahmen dieses technischen Verfahrens erhält Google Kenntnis über personenbezogene Daten, wie der IP-Adresse der betroffenen Person, die Google unter anderem dazu dienen, die Herkunft der Besucher und Klicks nachzuvollziehen und in der Folge Provisionsabrechnungen zu ermöglichen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels des Cookies werden personenbezogene Informationen, beispielsweise die Zugriffszeit, der Ort, von welchem ein Zugriff ausging und die Häufigkeit der Besuche unserer Internetseite durch die betroffene Person, gespeichert. Bei jedem Besuch unserer Internetseiten werden diese personenbezogenen Daten, einschließlich der IP-Adresse des von der betroffenen Person genutzten Internetanschlusses, an Google in den Vereinigten Staaten von Amerika übertragen. Diese personenbezogenen Daten werden durch Google in den Vereinigten Staaten von Amerika gespeichert. Google gibt diese über das technische Verfahren erhobenen personenbezogenen Daten unter Umständen an Dritte weiter.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Google ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem kann ein von Google Analytics bereits gesetzter Cookie jederzeit über den Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch Google Analytics erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch Google zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person ein Browser-Add-On unter dem Link https://tools.google.com/dlpage/gaoptout herunterladen und installieren. Dieses Browser-Add-On teilt Google Analytics über JavaScript mit, dass keine Daten und Informationen zu den Besuchen von Internetseiten an Google Analytics übermittelt werden dürfen. Die Installation des Browser-Add-Ons wird von Google als Widerspruch gewertet. Wird das informationstechnologische System der betroffenen Person zu einem späteren Zeitpunkt gelöscht, formatiert oder neu installiert, muss durch die betroffene Person eine erneute Installation des Browser-Add-Ons erfolgen, um Google Analytics zu deaktivieren. Sofern das Browser-Add-On durch die betroffene Person oder einer anderen Person, die ihrem Machtbereich zuzurechnen ist, deinstalliert oder deaktiviert wird, besteht die Möglichkeit der Neuinstallation oder der erneuten Aktivierung des Browser-Add-Ons.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Google können unter https://www.google.de/intl/de/policies/privacy/ und unter http://www.google.com/analytics/terms/de.html abgerufen werden. Google Analytics wird unter diesem Link https://www.google.com/intl/de_de/analytics/ genauer erläutert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;10. Datenschutzbestimmungen zu Einsatz und Verwendung von Instagram&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten des Dienstes Instagram integriert. Instagram ist ein Dienst, der als audiovisuelle Plattform zu qualifizieren ist und den Nutzern das Teilen von Fotos und Videos und zudem eine Weiterverbreitung solcher Daten in anderen sozialen Netzwerken ermöglicht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft der Dienste von Instagram ist die Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2 Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Instagram-Komponente (Insta-Button) integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Instagram-Komponente veranlasst, eine Darstellung der entsprechenden Komponente von Instagram herunterzuladen. Im Rahmen dieses technischen Verfahrens erhält Instagram Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei Instagram eingeloggt ist, erkennt Instagram mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite die betroffene Person besucht. Diese Informationen werden durch die Instagram-Komponente gesammelt und durch Instagram dem jeweiligen Instagram-Account der betroffenen Person zugeordnet. Betätigt die betroffene Person einen der auf unserer Internetseite integrierten Instagram-Buttons, werden die damit übertragenen Daten und Informationen dem persönlichen Instagram-Benutzerkonto der betroffenen Person zugeordnet und von Instagram gespeichert und verarbeitet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Instagram erhält über die Instagram-Komponente immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufs unserer Internetseite gleichzeitig bei Instagram eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person die Instagram-Komponente anklickt oder nicht. Ist eine derartige Übermittlung dieser Informationen an Instagram von der betroffenen Person nicht gewollt, kann diese die Übermittlung dadurch verhindern, dass sie sich vor einem Aufruf unserer Internetseite aus ihrem Instagram-Account ausloggt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Instagram können unter https://help.instagram.com/155833707900388 und https://www.instagram.com/about/legal/privacy/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;11. Rechtsgrundlage der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Art. 6 I lit. a DS-GVO dient unserem Unternehmen als Rechtsgrundlage für Verarbeitungsvorgänge, bei denen wir eine Einwilligung für einen bestimmten Verarbeitungszweck einholen. Ist die Verarbeitung personenbezogener Daten zur Erfüllung eines Vertrags, dessen Vertragspartei die betroffene Person ist, erforderlich, wie dies beispielsweise bei Verarbeitungsvorgängen der Fall ist, die für eine Lieferung von Waren oder die Erbringung einer sonstigen Leistung oder Gegenleistung notwendig sind, so beruht die Verarbeitung auf Art. 6 I lit. b DS-GVO. Gleiches gilt für solche Verarbeitungsvorgänge die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind, etwa in Fällen von Anfragen zur unseren Produkten oder Leistungen. Unterliegt unser Unternehmen einer rechtlichen Verpflichtung durch welche eine Verarbeitung von personenbezogenen Daten erforderlich wird, wie beispielsweise zur Erfüllung steuerlicher Pflichten, so basiert die Verarbeitung auf Art. 6 I lit. c DS-GVO. In seltenen Fällen könnte die Verarbeitung von personenbezogenen Daten erforderlich werden, um lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person zu schützen. Dies wäre beispielsweise der Fall, wenn ein Besucher in unserem Betrieb verletzt werden würde und daraufhin sein Name, sein Alter, seine Krankenkassendaten oder sonstige lebenswichtige Informationen an einen Arzt, ein Krankenhaus oder sonstige Dritte weitergegeben werden müssten. Dann würde die Verarbeitung auf Art. 6 I lit. d DS-GVO beruhen.&lt;br /&gt;
Letztlich könnten Verarbeitungsvorgänge auf Art. 6 I lit. f DS-GVO beruhen. Auf dieser Rechtsgrundlage basieren Verarbeitungsvorgänge, die von keiner der vorgenannten Rechtsgrundlagen erfasst werden, wenn die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich ist, sofern die Interessen, Grundrechte und Grundfreiheiten des Betroffenen nicht überwiegen. Solche Verarbeitungsvorgänge sind uns insbesondere deshalb gestattet, weil sie durch den Europäischen Gesetzgeber besonders erwähnt wurden. Er vertrat insoweit die Auffassung, dass ein berechtigtes Interesse anzunehmen sein könnte, wenn die betroffene Person ein Kunde des Verantwortlichen ist (Erwägungsgrund 47 Satz 2 DS-GVO).&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;12. Berechtigte Interessen an der Verarbeitung, die von dem Verantwortlichen oder einem Dritten verfolgt werden&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Basiert die Verarbeitung personenbezogener Daten auf Artikel 6 I lit. f DS-GVO ist unser berechtigtes Interesse die Durchführung unserer Geschäftstätigkeit zugunsten des Wohlergehens all unserer Mitarbeiter und unserer Anteilseigner.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;13. Dauer, für die die personenbezogenen Daten gespeichert werden&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Das Kriterium für die Dauer der Speicherung von personenbezogenen Daten ist die jeweilige gesetzliche Aufbewahrungsfrist. Nach Ablauf der Frist werden die entsprechenden Daten routinemäßig gelöscht, sofern sie nicht mehr zur Vertragserfüllung oder Vertragsanbahnung erforderlich sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;14. Gesetzliche oder vertragliche Vorschriften zur Bereitstellung der personenbezogenen Daten; Erforderlichkeit für den Vertragsabschluss; Verpflichtung der betroffenen Person, die personenbezogenen Daten bereitzustellen; mögliche Folgen der Nichtbereitstellung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wir klären Sie darüber auf, dass die Bereitstellung personenbezogener Daten zum Teil gesetzlich vorgeschrieben ist (z.B. Steuervorschriften) oder sich auch aus vertraglichen Regelungen (z.B. Angaben zum Vertragspartner) ergeben kann.&lt;br /&gt;
Mitunter kann es zu einem Vertragsschluss erforderlich sein, dass eine betroffene Person uns personenbezogene Daten zur Verfügung stellt, die in der Folge durch uns verarbeitet werden müssen. Die betroffene Person ist beispielsweise verpflichtet uns personenbezogene Daten bereitzustellen, wenn unser Unternehmen mit ihr einen Vertrag abschließt. Eine Nichtbereitstellung der personenbezogenen Daten hätte zur Folge, dass der Vertrag mit dem Betroffenen nicht geschlossen werden könnte.&lt;br /&gt;
Vor einer Bereitstellung personenbezogener Daten durch den Betroffenen muss sich der Betroffene an einen unserer Mitarbeiter wenden. Unser Mitarbeiter klärt den Betroffenen einzelfallbezogen darüber auf, ob die Bereitstellung der personenbezogenen Daten gesetzlich oder vertraglich vorgeschrieben oder für den Vertragsabschluss erforderlich ist, ob eine Verpflichtung besteht, die personenbezogenen Daten bereitzustellen, und welche Folgen die Nichtbereitstellung der personenbezogenen Daten hätte.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;15. Bestehen einer automatisierten Entscheidungsfindung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Als verantwortungsbewusstes Unternehmen verzichten wir auf eine automatische Entscheidungsfindung oder ein Profiling.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Diese Datenschutzerklärung wurde durch den Datenschutzerklärungs-Generator der DGD Deutsche Gesellschaft für Datenschutz GmbH, die als &amp;lt;a href=&amp;quot;https://dg-datenschutz.de/datenschutz-dienstleistungen/externer-datenschutzbeauftragter/&amp;quot;&amp;gt;Datenschutzbeauftragter&amp;lt;/a&amp;gt; tätig ist, in Kooperation mit den &amp;lt;a href=&amp;quot;https://www.wbs-law.de/it-recht/datenschutzrecht/&amp;quot;&amp;gt;Datenschutz Anwälten der Kanzlei WILDE BEUGER SOLMECKE | Rechtsanwälte&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt; erstellt.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte_-_Beispiele&amp;diff=25174</id>
		<title>Datenschutz - Mustertexte - Beispiele</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte_-_Beispiele&amp;diff=25174"/>
		<updated>2021-01-12T11:24:43Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Beispiel Solmecke mit Google Analytics https://dsgvo-muster-datenschutzerklaerung.dg-datenschutz.de/&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;Datenschutzerklärung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wir freuen uns sehr über Ihr Interesse an unserem Unternehmen. Datenschutz hat einen besonders hohen Stellenwert für die Geschäftsleitung der info@dojatec-vub.de. Eine Nutzung der Internetseiten der info@dojatec-vub.de ist grundsätzlich ohne jede Angabe personenbezogener Daten möglich. Sofern eine betroffene Person besondere Services unseres Unternehmens über unsere Internetseite in Anspruch nehmen möchte, könnte jedoch eine Verarbeitung personenbezogener Daten erforderlich werden. Ist die Verarbeitung personenbezogener Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir generell eine Einwilligung der betroffenen Person ein.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die Verarbeitung personenbezogener Daten, beispielsweise des Namens, der Anschrift, E-Mail-Adresse oder Telefonnummer einer betroffenen Person, erfolgt stets im Einklang mit der Datenschutz-Grundverordnung und in Übereinstimmung mit den für die info@dojatec-vub.de geltenden landesspezifischen Datenschutzbestimmungen. Mittels dieser Datenschutzerklärung möchte unser Unternehmen die Öffentlichkeit über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren. Ferner werden betroffene Personen mittels dieser Datenschutzerklärung über die ihnen zustehenden Rechte aufgeklärt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die info@dojatec-vub.de hat als für die Verarbeitung Verantwortlicher zahlreiche technische und organisatorische Maßnahmen umgesetzt, um einen möglichst lückenlosen Schutz der über diese Internetseite verarbeiteten personenbezogenen Daten sicherzustellen. Dennoch können Internetbasierte Datenübertragungen grundsätzlich Sicherheitslücken aufweisen, sodass ein absoluter Schutz nicht gewährleistet werden kann. Aus diesem Grund steht es jeder betroffenen Person frei, personenbezogene Daten auch auf alternativen Wegen, beispielsweise telefonisch, an uns zu übermitteln.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;1. Begriffsbestimmungen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Datenschutzerklärung der info@dojatec-vub.de beruht auf den Begrifflichkeiten, die durch den Europäischen Richtlinien- und Verordnungsgeber beim Erlass der Datenschutz-Grundverordnung (DS-GVO) verwendet wurden. Unsere Datenschutzerklärung soll sowohl für die Öffentlichkeit als auch für unsere Kunden und Geschäftspartner einfach lesbar und verständlich sein. Um dies zu gewährleisten, möchten wir vorab die verwendeten Begrifflichkeiten erläutern.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wir verwenden in dieser Datenschutzerklärung unter anderem die folgenden Begriffe:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a)    personenbezogene Daten&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Personenbezogene Daten sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden „betroffene Person“) beziehen. Als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung oder zu einem oder mehreren besonderen Merkmalen, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind, identifiziert werden kann.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b)    betroffene Person&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Betroffene Person ist jede identifizierte oder identifizierbare natürliche Person, deren personenbezogene Daten von dem für die Verarbeitung Verantwortlichen verarbeitet werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c)    Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verarbeitung ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführte Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten wie das Erheben, das Erfassen, die Organisation, das Ordnen, die Speicherung, die Anpassung oder Veränderung, das Auslesen, das Abfragen, die Verwendung, die Offenlegung durch Übermittlung, Verbreitung oder eine andere Form der Bereitstellung, den Abgleich oder die Verknüpfung, die Einschränkung, das Löschen oder die Vernichtung.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;d)    Einschränkung der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Einschränkung der Verarbeitung ist die Markierung gespeicherter personenbezogener Daten mit dem Ziel, ihre künftige Verarbeitung einzuschränken.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e)    Profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Profiling ist jede Art der automatisierten Verarbeitung personenbezogener Daten, die darin besteht, dass diese personenbezogenen Daten verwendet werden, um bestimmte persönliche Aspekte, die sich auf eine natürliche Person beziehen, zu bewerten, insbesondere, um Aspekte bezüglich Arbeitsleistung, wirtschaftlicher Lage, Gesundheit, persönlicher Vorlieben, Interessen, Zuverlässigkeit, Verhalten, Aufenthaltsort oder Ortswechsel dieser natürlichen Person zu analysieren oder vorherzusagen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f)     Pseudonymisierung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Pseudonymisierung ist die Verarbeitung personenbezogener Daten in einer Weise, auf welche die personenbezogenen Daten ohne Hinzuziehung zusätzlicher Informationen nicht mehr einer spezifischen betroffenen Person zugeordnet werden können, sofern diese zusätzlichen Informationen gesondert aufbewahrt werden und technischen und organisatorischen Maßnahmen unterliegen, die gewährleisten, dass die personenbezogenen Daten nicht einer identifizierten oder identifizierbaren natürlichen Person zugewiesen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;g)    Verantwortlicher oder für die Verarbeitung Verantwortlicher&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verantwortlicher oder für die Verarbeitung Verantwortlicher ist die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten entscheidet. Sind die Zwecke und Mittel dieser Verarbeitung durch das Unionsrecht oder das Recht der Mitgliedstaaten vorgegeben, so kann der Verantwortliche beziehungsweise können die bestimmten Kriterien seiner Benennung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten vorgesehen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h)    Auftragsverarbeiter&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Auftragsverarbeiter ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die personenbezogene Daten im Auftrag des Verantwortlichen verarbeitet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i)      Empfänger&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Empfänger ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, der personenbezogene Daten offengelegt werden, unabhängig davon, ob es sich bei ihr um einen Dritten handelt oder nicht. Behörden, die im Rahmen eines bestimmten Untersuchungsauftrags nach dem Unionsrecht oder dem Recht der Mitgliedstaaten möglicherweise personenbezogene Daten erhalten, gelten jedoch nicht als Empfänger.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;j)      Dritter&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Dritter ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle außer der betroffenen Person, dem Verantwortlichen, dem Auftragsverarbeiter und den Personen, die unter der unmittelbaren Verantwortung des Verantwortlichen oder des Auftragsverarbeiters befugt sind, die personenbezogenen Daten zu verarbeiten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;k)    Einwilligung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Einwilligung ist jede von der betroffenen Person freiwillig für den bestimmten Fall in informierter Weise und unmissverständlich abgegebene Willensbekundung in Form einer Erklärung oder einer sonstigen eindeutigen bestätigenden Handlung, mit der die betroffene Person zu verstehen gibt, dass sie mit der Verarbeitung der sie betreffenden personenbezogenen Daten einverstanden ist.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;2. Name und Anschrift des für die Verarbeitung Verantwortlichen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verantwortlicher im Sinne der Datenschutz-Grundverordnung, sonstiger in den Mitgliedstaaten der Europäischen Union geltenden Datenschutzgesetze und anderer Bestimmungen mit datenschutzrechtlichem Charakter ist die:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;info@dojatec-vub.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Schillerstraße 20&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;72144 Dusslingen&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Deutschland&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Tel.: 07072 / 9293-0&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;E-Mail: dealer@stephanschlegel.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Website: dojatec.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;3. Cookies&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseiten der info@dojatec-vub.de verwenden Cookies. Cookies sind Textdateien, welche über einen Internetbrowser auf einem Computersystem abgelegt und gespeichert werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zahlreiche Internetseiten und Server verwenden Cookies. Viele Cookies enthalten eine sogenannte Cookie-ID. Eine Cookie-ID ist eine eindeutige Kennung des Cookies. Sie besteht aus einer Zeichenfolge, durch welche Internetseiten und Server dem konkreten Internetbrowser zugeordnet werden können, in dem das Cookie gespeichert wurde. Dies ermöglicht es den besuchten Internetseiten und Servern, den individuellen Browser der betroffenen Person von anderen Internetbrowsern, die andere Cookies enthalten, zu unterscheiden. Ein bestimmter Internetbrowser kann über die eindeutige Cookie-ID wiedererkannt und identifiziert werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch den Einsatz von Cookies kann die info@dojatec-vub.de den Nutzern dieser Internetseite nutzerfreundlichere Services bereitstellen, die ohne die Cookie-Setzung nicht möglich wären.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels eines Cookies können die Informationen und Angebote auf unserer Internetseite im Sinne des Benutzers optimiert werden. Cookies ermöglichen uns, wie bereits erwähnt, die Benutzer unserer Internetseite wiederzuerkennen. Zweck dieser Wiedererkennung ist es, den Nutzern die Verwendung unserer Internetseite zu erleichtern. Der Benutzer einer Internetseite, die Cookies verwendet, muss beispielsweise nicht bei jedem Besuch der Internetseite erneut seine Zugangsdaten eingeben, weil dies von der Internetseite und dem auf dem Computersystem des Benutzers abgelegten Cookie übernommen wird. Ein weiteres Beispiel ist das Cookie eines Warenkorbes im Online-Shop. Der Online-Shop merkt sich die Artikel, die ein Kunde in den virtuellen Warenkorb gelegt hat, über ein Cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Ferner können bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden. Dies ist in allen gängigen Internetbrowsern möglich. Deaktiviert die betroffene Person die Setzung von Cookies in dem genutzten Internetbrowser, sind unter Umständen nicht alle Funktionen unserer Internetseite vollumfänglich nutzbar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;4. Erfassung von allgemeinen Daten und Informationen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseite der info@dojatec-vub.de erfasst mit jedem Aufruf der Internetseite durch eine betroffene Person oder ein automatisiertes System eine Reihe von allgemeinen Daten und Informationen. Diese allgemeinen Daten und Informationen werden in den Logfiles des Servers gespeichert. Erfasst werden können die (1) verwendeten Browsertypen und Versionen, (2) das vom zugreifenden System verwendete Betriebssystem, (3) die Internetseite, von welcher ein zugreifendes System auf unsere Internetseite gelangt (sogenannte Referrer), (4) die Unterwebseiten, welche über ein zugreifendes System auf unserer Internetseite angesteuert werden, (5) das Datum und die Uhrzeit eines Zugriffs auf die Internetseite, (6) eine Internet-Protokoll-Adresse (IP-Adresse), (7) der Internet-Service-Provider des zugreifenden Systems und (8) sonstige ähnliche Daten und Informationen, die der Gefahrenabwehr im Falle von Angriffen auf unsere informationstechnologischen Systeme dienen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Bei der Nutzung dieser allgemeinen Daten und Informationen zieht die info@dojatec-vub.de keine Rückschlüsse auf die betroffene Person. Diese Informationen werden vielmehr benötigt, um (1) die Inhalte unserer Internetseite korrekt auszuliefern, (2) die Inhalte unserer Internetseite sowie die Werbung für diese zu optimieren, (3) die dauerhafte Funktionsfähigkeit unserer informationstechnologischen Systeme und der Technik unserer Internetseite zu gewährleisten sowie (4) um Strafverfolgungsbehörden im Falle eines Cyberangriffes die zur Strafverfolgung notwendigen Informationen bereitzustellen. Diese anonym erhobenen Daten und Informationen werden durch die info@dojatec-vub.de daher einerseits statistisch und ferner mit dem Ziel ausgewertet, den Datenschutz und die Datensicherheit in unserem Unternehmen zu erhöhen, um letztlich ein optimales Schutzniveau für die von uns verarbeiteten personenbezogenen Daten sicherzustellen. Die anonymen Daten der Server-Logfiles werden getrennt von allen durch eine betroffene Person angegebenen personenbezogenen Daten gespeichert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;5. Kontaktmöglichkeit über die Internetseite&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseite der info@dojatec-vub.de enthält aufgrund von gesetzlichen Vorschriften Angaben, die eine schnelle elektronische Kontaktaufnahme zu unserem Unternehmen sowie eine unmittelbare Kommunikation mit uns ermöglichen, was ebenfalls eine allgemeine Adresse der sogenannten elektronischen Post (E-Mail-Adresse) umfasst. Sofern eine betroffene Person per E-Mail oder über ein Kontaktformular den Kontakt mit dem für die Verarbeitung Verantwortlichen aufnimmt, werden die von der betroffenen Person übermittelten personenbezogenen Daten automatisch gespeichert. Solche auf freiwilliger Basis von einer betroffenen Person an den für die Verarbeitung Verantwortlichen übermittelten personenbezogenen Daten werden für Zwecke der Bearbeitung oder der Kontaktaufnahme zur betroffenen Person gespeichert. Es erfolgt keine Weitergabe dieser personenbezogenen Daten an Dritte.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;6. Routinemäßige Löschung und Sperrung von personenbezogenen Daten&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche verarbeitet und speichert personenbezogene Daten der betroffenen Person nur für den Zeitraum, der zur Erreichung des Speicherungszwecks erforderlich ist oder sofern dies durch den Europäischen Richtlinien- und Verordnungsgeber oder einen anderen Gesetzgeber in Gesetzen oder Vorschriften, welchen der für die Verarbeitung Verantwortliche unterliegt, vorgesehen wurde.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Entfällt der Speicherungszweck oder läuft eine vom Europäischen Richtlinien- und Verordnungsgeber oder einem anderen zuständigen Gesetzgeber vorgeschriebene Speicherfrist ab, werden die personenbezogenen Daten routinemäßig und entsprechend den gesetzlichen Vorschriften gesperrt oder gelöscht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;7. Rechte der betroffenen Person&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a)    Recht auf Bestätigung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber eingeräumte Recht, von dem für die Verarbeitung Verantwortlichen eine Bestätigung darüber zu verlangen, ob sie betreffende personenbezogene Daten verarbeitet werden. Möchte eine betroffene Person dieses Bestätigungsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b)    Recht auf Auskunft&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, jederzeit von dem für die Verarbeitung Verantwortlichen unentgeltliche Auskunft über die zu seiner Person gespeicherten personenbezogenen Daten und eine Kopie dieser Auskunft zu erhalten. Ferner hat der Europäische Richtlinien- und Verordnungsgeber der betroffenen Person Auskunft über folgende Informationen zugestanden:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Verarbeitungszwecke&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Kategorien personenbezogener Daten, die verarbeitet werden&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Empfänger oder Kategorien von Empfängern, gegenüber denen die personenbezogenen Daten offengelegt worden sind oder noch offengelegt werden, insbesondere bei Empfängern in Drittländern oder bei internationalen Organisationen&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;falls möglich die geplante Dauer, für die die personenbezogenen Daten gespeichert werden, oder, falls dies nicht möglich ist, die Kriterien für die Festlegung dieser Dauer&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen eines Rechts auf Berichtigung oder Löschung der sie betreffenden personenbezogenen Daten oder auf Einschränkung der Verarbeitung durch den Verantwortlichen oder eines Widerspruchsrechts gegen diese Verarbeitung&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen eines Beschwerderechts bei einer Aufsichtsbehörde&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;wenn die personenbezogenen Daten nicht bei der betroffenen Person erhoben werden: Alle verfügbaren Informationen über die Herkunft der Daten&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling gemäß Artikel 22 Abs.1 und 4 DS-GVO und — zumindest in diesen Fällen — aussagekräftige Informationen über die involvierte Logik sowie die Tragweite und die angestrebten Auswirkungen einer derartigen Verarbeitung für die betroffene Person&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner steht der betroffenen Person ein Auskunftsrecht darüber zu, ob personenbezogene Daten an ein Drittland oder an eine internationale Organisation übermittelt wurden. Sofern dies der Fall ist, so steht der betroffenen Person im Übrigen das Recht zu, Auskunft über die geeigneten Garantien im Zusammenhang mit der Übermittlung zu erhalten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte eine betroffene Person dieses Auskunftsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c)    Recht auf Berichtigung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, die unverzügliche Berichtigung sie betreffender unrichtiger personenbezogener Daten zu verlangen. Ferner steht der betroffenen Person das Recht zu, unter Berücksichtigung der Zwecke der Verarbeitung, die Vervollständigung unvollständiger personenbezogener Daten — auch mittels einer ergänzenden Erklärung — zu verlangen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte eine betroffene Person dieses Berichtigungsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;d)    Recht auf Löschung (Recht auf Vergessen werden)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, von dem Verantwortlichen zu verlangen, dass die sie betreffenden personenbezogenen Daten unverzüglich gelöscht werden, sofern einer der folgenden Gründe zutrifft und soweit die Verarbeitung nicht erforderlich ist:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden für solche Zwecke erhoben oder auf sonstige Weise verarbeitet, für welche sie nicht mehr notwendig sind.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person widerruft ihre Einwilligung, auf die sich die Verarbeitung gemäß Art. 6 Abs. 1 Buchstabe a DS-GVO oder Art. 9 Abs. 2 Buchstabe a DS-GVO stützte, und es fehlt an einer anderweitigen Rechtsgrundlage für die Verarbeitung.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person legt gemäß Art. 21 Abs. 1 DS-GVO Widerspruch gegen die Verarbeitung ein, und es liegen keine vorrangigen berechtigten Gründe für die Verarbeitung vor, oder die betroffene Person legt gemäß Art. 21 Abs. 2 DS-GVO Widerspruch gegen die Verarbeitung ein.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden unrechtmäßig verarbeitet.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Löschung der personenbezogenen Daten ist zur Erfüllung einer rechtlichen Verpflichtung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten erforderlich, dem der Verantwortliche unterliegt.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden in Bezug auf angebotene Dienste der Informationsgesellschaft gemäß Art. 8 Abs. 1 DS-GVO erhoben.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern einer der oben genannten Gründe zutrifft und eine betroffene Person die Löschung von personenbezogenen Daten, die bei der info@dojatec-vub.de gespeichert sind, veranlassen möchte, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden. Der Mitarbeiter der info@dojatec-vub.de wird veranlassen, dass dem Löschverlangen unverzüglich nachgekommen wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wurden die personenbezogenen Daten von der info@dojatec-vub.de öffentlich gemacht und ist unser Unternehmen als Verantwortlicher gemäß Art. 17 Abs. 1 DS-GVO zur Löschung der personenbezogenen Daten verpflichtet, so trifft die info@dojatec-vub.de unter Berücksichtigung der verfügbaren Technologie und der Implementierungskosten angemessene Maßnahmen, auch technischer Art, um andere für die Datenverarbeitung Verantwortliche, welche die veröffentlichten personenbezogenen Daten verarbeiten, darüber in Kenntnis zu setzen, dass die betroffene Person von diesen anderen für die Datenverarbeitung Verantwortlichen die Löschung sämtlicher Links zu diesen personenbezogenen Daten oder von Kopien oder Replikationen dieser personenbezogenen Daten verlangt hat, soweit die Verarbeitung nicht erforderlich ist. Der Mitarbeiter der info@dojatec-vub.de wird im Einzelfall das Notwendige veranlassen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e)    Recht auf Einschränkung der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, von dem Verantwortlichen die Einschränkung der Verarbeitung zu verlangen, wenn eine der folgenden Voraussetzungen gegeben ist:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Richtigkeit der personenbezogenen Daten wird von der betroffenen Person bestritten, und zwar für eine Dauer, die es dem Verantwortlichen ermöglicht, die Richtigkeit der personenbezogenen Daten zu überprüfen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Verarbeitung ist unrechtmäßig, die betroffene Person lehnt die Löschung der personenbezogenen Daten ab und verlangt stattdessen die Einschränkung der Nutzung der personenbezogenen Daten.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Der Verantwortliche benötigt die personenbezogenen Daten für die Zwecke der Verarbeitung nicht länger, die betroffene Person benötigt sie jedoch zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person hat Widerspruch gegen die Verarbeitung gem. Art. 21 Abs. 1 DS-GVO eingelegt und es steht noch nicht fest, ob die berechtigten Gründe des Verantwortlichen gegenüber denen der betroffenen Person überwiegen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern eine der oben genannten Voraussetzungen gegeben ist und eine betroffene Person die Einschränkung von personenbezogenen Daten, die bei der info@dojatec-vub.de gespeichert sind, verlangen möchte, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden. Der Mitarbeiter der info@dojatec-vub.de wird die Einschränkung der Verarbeitung veranlassen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f)     Recht auf Datenübertragbarkeit&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, die sie betreffenden personenbezogenen Daten, welche durch die betroffene Person einem Verantwortlichen bereitgestellt wurden, in einem strukturierten, gängigen und maschinenlesbaren Format zu erhalten. Sie hat außerdem das Recht, diese Daten einem anderen Verantwortlichen ohne Behinderung durch den Verantwortlichen, dem die personenbezogenen Daten bereitgestellt wurden, zu übermitteln, sofern die Verarbeitung auf der Einwilligung gemäß Art. 6 Abs. 1 Buchstabe a DS-GVO oder Art. 9 Abs. 2 Buchstabe a DS-GVO oder auf einem Vertrag gemäß Art. 6 Abs. 1 Buchstabe b DS-GVO beruht und die Verarbeitung mithilfe automatisierter Verfahren erfolgt, sofern die Verarbeitung nicht für die Wahrnehmung einer Aufgabe erforderlich ist, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, welche dem Verantwortlichen übertragen wurde.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner hat die betroffene Person bei der Ausübung ihres Rechts auf Datenübertragbarkeit gemäß Art. 20 Abs. 1 DS-GVO das Recht, zu erwirken, dass die personenbezogenen Daten direkt von einem Verantwortlichen an einen anderen Verantwortlichen übermittelt werden, soweit dies technisch machbar ist und sofern hiervon nicht die Rechte und Freiheiten anderer Personen beeinträchtigt werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zur Geltendmachung des Rechts auf Datenübertragbarkeit kann sich die betroffene Person jederzeit an einen Mitarbeiter der info@dojatec-vub.de wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;g)    Recht auf Widerspruch&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung sie betreffender personenbezogener Daten, die aufgrund von Art. 6 Abs. 1 Buchstaben e oder f DS-GVO erfolgt, Widerspruch einzulegen. Dies gilt auch für ein auf diese Bestimmungen gestütztes Profiling.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die info@dojatec-vub.de verarbeitet die personenbezogenen Daten im Falle des Widerspruchs nicht mehr, es sei denn, wir können zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die den Interessen, Rechten und Freiheiten der betroffenen Person überwiegen, oder die Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Verarbeitet die info@dojatec-vub.de personenbezogene Daten, um Direktwerbung zu betreiben, so hat die betroffene Person das Recht, jederzeit Widerspruch gegen die Verarbeitung der personenbezogenen Daten zum Zwecke derartiger Werbung einzulegen. Dies gilt auch für das Profiling, soweit es mit solcher Direktwerbung in Verbindung steht. Widerspricht die betroffene Person gegenüber der info@dojatec-vub.de der Verarbeitung für Zwecke der Direktwerbung, so wird die info@dojatec-vub.de die personenbezogenen Daten nicht mehr für diese Zwecke verarbeiten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zudem hat die betroffene Person das Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, gegen die sie betreffende Verarbeitung personenbezogener Daten, die bei der info@dojatec-vub.de zu wissenschaftlichen oder historischen Forschungszwecken oder zu statistischen Zwecken gemäß Art. 89 Abs. 1 DS-GVO erfolgen, Widerspruch einzulegen, es sei denn, eine solche Verarbeitung ist zur Erfüllung einer im öffentlichen Interesse liegenden Aufgabe erforderlich.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zur Ausübung des Rechts auf Widerspruch kann sich die betroffene Person direkt an jeden Mitarbeiter der info@dojatec-vub.de oder einen anderen Mitarbeiter wenden. Der betroffenen Person steht es ferner frei, im Zusammenhang mit der Nutzung von Diensten der Informationsgesellschaft, ungeachtet der Richtlinie 2002/58/EG, ihr Widerspruchsrecht mittels automatisierter Verfahren auszuüben, bei denen technische Spezifikationen verwendet werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h)    Automatisierte Entscheidungen im Einzelfall einschließlich Profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, nicht einer ausschließlich auf einer automatisierten Verarbeitung — einschließlich Profiling — beruhenden Entscheidung unterworfen zu werden, die ihr gegenüber rechtliche Wirkung entfaltet oder sie in ähnlicher Weise erheblich beeinträchtigt, sofern die Entscheidung (1) nicht für den Abschluss oder die Erfüllung eines Vertrags zwischen der betroffenen Person und dem Verantwortlichen erforderlich ist, oder (2) aufgrund von Rechtsvorschriften der Union oder der Mitgliedstaaten, denen der Verantwortliche unterliegt, zulässig ist und diese Rechtsvorschriften angemessene Maßnahmen zur Wahrung der Rechte und Freiheiten sowie der berechtigten Interessen der betroffenen Person enthalten oder (3) mit ausdrücklicher Einwilligung der betroffenen Person erfolgt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ist die Entscheidung (1) für den Abschluss oder die Erfüllung eines Vertrags zwischen der betroffenen Person und dem Verantwortlichen erforderlich oder (2) erfolgt sie mit ausdrücklicher Einwilligung der betroffenen Person, trifft die info@dojatec-vub.de angemessene Maßnahmen, um die Rechte und Freiheiten sowie die berechtigten Interessen der betroffenen Person zu wahren, wozu mindestens das Recht auf Erwirkung des Eingreifens einer Person seitens des Verantwortlichen, auf Darlegung des eigenen Standpunkts und auf Anfechtung der Entscheidung gehört.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte die betroffene Person Rechte mit Bezug auf automatisierte Entscheidungen geltend machen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i)      Recht auf Widerruf einer datenschutzrechtlichen Einwilligung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, eine Einwilligung zur Verarbeitung personenbezogener Daten jederzeit zu widerrufen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte die betroffene Person ihr Recht auf Widerruf einer Einwilligung geltend machen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;8. Datenschutz bei Bewerbungen und im Bewerbungsverfahren&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche erhebt und verarbeitet die personenbezogenen Daten von Bewerbern zum Zwecke der Abwicklung des Bewerbungsverfahrens. Die Verarbeitung kann auch auf elektronischem Wege erfolgen. Dies ist insbesondere dann der Fall, wenn ein Bewerber entsprechende Bewerbungsunterlagen auf dem elektronischen Wege, beispielsweise per E-Mail oder über ein auf der Internetseite befindliches Webformular, an den für die Verarbeitung Verantwortlichen übermittelt. Schließt der für die Verarbeitung Verantwortliche einen Anstellungsvertrag mit einem Bewerber, werden die übermittelten Daten zum Zwecke der Abwicklung des Beschäftigungsverhältnisses unter Beachtung der gesetzlichen Vorschriften gespeichert. Wird von dem für die Verarbeitung Verantwortlichen kein Anstellungsvertrag mit dem Bewerber geschlossen, so werden die Bewerbungsunterlagen zwei Monate nach Bekanntgabe der Absageentscheidung automatisch gelöscht, sofern einer Löschung keine sonstigen berechtigten Interessen des für die Verarbeitung Verantwortlichen entgegenstehen. Sonstiges berechtigtes Interesse in diesem Sinne ist beispielsweise eine Beweispflicht in einem Verfahren nach dem Allgemeinen Gleichbehandlungsgesetz (AGG).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;9. Datenschutzbestimmungen zu Einsatz und Verwendung von Google Analytics (mit Anonymisierungsfunktion)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite die Komponente Google Analytics (mit Anonymisierungsfunktion) integriert. Google Analytics ist ein Web-Analyse-Dienst. Web-Analyse ist die Erhebung, Sammlung und Auswertung von Daten über das Verhalten von Besuchern von Internetseiten. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Internetseite eine betroffene Person auf eine Internetseite gekommen ist (sogenannte Referrer), auf welche Unterseiten der Internetseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde. Eine Web-Analyse wird überwiegend zur Optimierung einer Internetseite und zur Kosten-Nutzen-Analyse von Internetwerbung eingesetzt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft der Google-Analytics-Komponente ist die Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche verwendet für die Web-Analyse über Google Analytics den Zusatz &amp;quot;_gat._anonymizeIp&amp;quot;. Mittels dieses Zusatzes wird die IP-Adresse des Internetanschlusses der betroffenen Person von Google gekürzt und anonymisiert, wenn der Zugriff auf unsere Internetseiten aus einem Mitgliedstaat der Europäischen Union oder aus einem anderen Vertragsstaat des Abkommens über den Europäischen Wirtschaftsraum erfolgt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der Zweck der Google-Analytics-Komponente ist die Analyse der Besucherströme auf unserer Internetseite. Google nutzt die gewonnenen Daten und Informationen unter anderem dazu, die Nutzung unserer Internetseite auszuwerten, um für uns Online-Reports, welche die Aktivitäten auf unseren Internetseiten aufzeigen, zusammenzustellen, und um weitere mit der Nutzung unserer Internetseite in Verbindung stehende Dienstleistungen zu erbringen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Google Analytics setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Mit Setzung des Cookies wird Google eine Analyse der Benutzung unserer Internetseite ermöglicht. Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Google-Analytics-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Google-Analytics-Komponente veranlasst, Daten zum Zwecke der Online-Analyse an Google zu übermitteln. Im Rahmen dieses technischen Verfahrens erhält Google Kenntnis über personenbezogene Daten, wie der IP-Adresse der betroffenen Person, die Google unter anderem dazu dienen, die Herkunft der Besucher und Klicks nachzuvollziehen und in der Folge Provisionsabrechnungen zu ermöglichen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels des Cookies werden personenbezogene Informationen, beispielsweise die Zugriffszeit, der Ort, von welchem ein Zugriff ausging und die Häufigkeit der Besuche unserer Internetseite durch die betroffene Person, gespeichert. Bei jedem Besuch unserer Internetseiten werden diese personenbezogenen Daten, einschließlich der IP-Adresse des von der betroffenen Person genutzten Internetanschlusses, an Google in den Vereinigten Staaten von Amerika übertragen. Diese personenbezogenen Daten werden durch Google in den Vereinigten Staaten von Amerika gespeichert. Google gibt diese über das technische Verfahren erhobenen personenbezogenen Daten unter Umständen an Dritte weiter.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Google ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem kann ein von Google Analytics bereits gesetzter Cookie jederzeit über den Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch Google Analytics erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch Google zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person ein Browser-Add-On unter dem Link https://tools.google.com/dlpage/gaoptout herunterladen und installieren. Dieses Browser-Add-On teilt Google Analytics über JavaScript mit, dass keine Daten und Informationen zu den Besuchen von Internetseiten an Google Analytics übermittelt werden dürfen. Die Installation des Browser-Add-Ons wird von Google als Widerspruch gewertet. Wird das informationstechnologische System der betroffenen Person zu einem späteren Zeitpunkt gelöscht, formatiert oder neu installiert, muss durch die betroffene Person eine erneute Installation des Browser-Add-Ons erfolgen, um Google Analytics zu deaktivieren. Sofern das Browser-Add-On durch die betroffene Person oder einer anderen Person, die ihrem Machtbereich zuzurechnen ist, deinstalliert oder deaktiviert wird, besteht die Möglichkeit der Neuinstallation oder der erneuten Aktivierung des Browser-Add-Ons.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Google können unter https://www.google.de/intl/de/policies/privacy/ und unter http://www.google.com/analytics/terms/de.html abgerufen werden. Google Analytics wird unter diesem Link https://www.google.com/intl/de_de/analytics/ genauer erläutert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;10. Datenschutzbestimmungen zu Einsatz und Verwendung von Instagram&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten des Dienstes Instagram integriert. Instagram ist ein Dienst, der als audiovisuelle Plattform zu qualifizieren ist und den Nutzern das Teilen von Fotos und Videos und zudem eine Weiterverbreitung solcher Daten in anderen sozialen Netzwerken ermöglicht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft der Dienste von Instagram ist die Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2 Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Instagram-Komponente (Insta-Button) integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Instagram-Komponente veranlasst, eine Darstellung der entsprechenden Komponente von Instagram herunterzuladen. Im Rahmen dieses technischen Verfahrens erhält Instagram Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei Instagram eingeloggt ist, erkennt Instagram mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite die betroffene Person besucht. Diese Informationen werden durch die Instagram-Komponente gesammelt und durch Instagram dem jeweiligen Instagram-Account der betroffenen Person zugeordnet. Betätigt die betroffene Person einen der auf unserer Internetseite integrierten Instagram-Buttons, werden die damit übertragenen Daten und Informationen dem persönlichen Instagram-Benutzerkonto der betroffenen Person zugeordnet und von Instagram gespeichert und verarbeitet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Instagram erhält über die Instagram-Komponente immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufs unserer Internetseite gleichzeitig bei Instagram eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person die Instagram-Komponente anklickt oder nicht. Ist eine derartige Übermittlung dieser Informationen an Instagram von der betroffenen Person nicht gewollt, kann diese die Übermittlung dadurch verhindern, dass sie sich vor einem Aufruf unserer Internetseite aus ihrem Instagram-Account ausloggt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Instagram können unter https://help.instagram.com/155833707900388 und https://www.instagram.com/about/legal/privacy/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;11. Rechtsgrundlage der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Art. 6 I lit. a DS-GVO dient unserem Unternehmen als Rechtsgrundlage für Verarbeitungsvorgänge, bei denen wir eine Einwilligung für einen bestimmten Verarbeitungszweck einholen. Ist die Verarbeitung personenbezogener Daten zur Erfüllung eines Vertrags, dessen Vertragspartei die betroffene Person ist, erforderlich, wie dies beispielsweise bei Verarbeitungsvorgängen der Fall ist, die für eine Lieferung von Waren oder die Erbringung einer sonstigen Leistung oder Gegenleistung notwendig sind, so beruht die Verarbeitung auf Art. 6 I lit. b DS-GVO. Gleiches gilt für solche Verarbeitungsvorgänge die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind, etwa in Fällen von Anfragen zur unseren Produkten oder Leistungen. Unterliegt unser Unternehmen einer rechtlichen Verpflichtung durch welche eine Verarbeitung von personenbezogenen Daten erforderlich wird, wie beispielsweise zur Erfüllung steuerlicher Pflichten, so basiert die Verarbeitung auf Art. 6 I lit. c DS-GVO. In seltenen Fällen könnte die Verarbeitung von personenbezogenen Daten erforderlich werden, um lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person zu schützen. Dies wäre beispielsweise der Fall, wenn ein Besucher in unserem Betrieb verletzt werden würde und daraufhin sein Name, sein Alter, seine Krankenkassendaten oder sonstige lebenswichtige Informationen an einen Arzt, ein Krankenhaus oder sonstige Dritte weitergegeben werden müssten. Dann würde die Verarbeitung auf Art. 6 I lit. d DS-GVO beruhen.&lt;br /&gt;
Letztlich könnten Verarbeitungsvorgänge auf Art. 6 I lit. f DS-GVO beruhen. Auf dieser Rechtsgrundlage basieren Verarbeitungsvorgänge, die von keiner der vorgenannten Rechtsgrundlagen erfasst werden, wenn die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich ist, sofern die Interessen, Grundrechte und Grundfreiheiten des Betroffenen nicht überwiegen. Solche Verarbeitungsvorgänge sind uns insbesondere deshalb gestattet, weil sie durch den Europäischen Gesetzgeber besonders erwähnt wurden. Er vertrat insoweit die Auffassung, dass ein berechtigtes Interesse anzunehmen sein könnte, wenn die betroffene Person ein Kunde des Verantwortlichen ist (Erwägungsgrund 47 Satz 2 DS-GVO).&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;12. Berechtigte Interessen an der Verarbeitung, die von dem Verantwortlichen oder einem Dritten verfolgt werden&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Basiert die Verarbeitung personenbezogener Daten auf Artikel 6 I lit. f DS-GVO ist unser berechtigtes Interesse die Durchführung unserer Geschäftstätigkeit zugunsten des Wohlergehens all unserer Mitarbeiter und unserer Anteilseigner.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;13. Dauer, für die die personenbezogenen Daten gespeichert werden&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Das Kriterium für die Dauer der Speicherung von personenbezogenen Daten ist die jeweilige gesetzliche Aufbewahrungsfrist. Nach Ablauf der Frist werden die entsprechenden Daten routinemäßig gelöscht, sofern sie nicht mehr zur Vertragserfüllung oder Vertragsanbahnung erforderlich sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;14. Gesetzliche oder vertragliche Vorschriften zur Bereitstellung der personenbezogenen Daten; Erforderlichkeit für den Vertragsabschluss; Verpflichtung der betroffenen Person, die personenbezogenen Daten bereitzustellen; mögliche Folgen der Nichtbereitstellung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wir klären Sie darüber auf, dass die Bereitstellung personenbezogener Daten zum Teil gesetzlich vorgeschrieben ist (z.B. Steuervorschriften) oder sich auch aus vertraglichen Regelungen (z.B. Angaben zum Vertragspartner) ergeben kann.&lt;br /&gt;
Mitunter kann es zu einem Vertragsschluss erforderlich sein, dass eine betroffene Person uns personenbezogene Daten zur Verfügung stellt, die in der Folge durch uns verarbeitet werden müssen. Die betroffene Person ist beispielsweise verpflichtet uns personenbezogene Daten bereitzustellen, wenn unser Unternehmen mit ihr einen Vertrag abschließt. Eine Nichtbereitstellung der personenbezogenen Daten hätte zur Folge, dass der Vertrag mit dem Betroffenen nicht geschlossen werden könnte.&lt;br /&gt;
Vor einer Bereitstellung personenbezogener Daten durch den Betroffenen muss sich der Betroffene an einen unserer Mitarbeiter wenden. Unser Mitarbeiter klärt den Betroffenen einzelfallbezogen darüber auf, ob die Bereitstellung der personenbezogenen Daten gesetzlich oder vertraglich vorgeschrieben oder für den Vertragsabschluss erforderlich ist, ob eine Verpflichtung besteht, die personenbezogenen Daten bereitzustellen, und welche Folgen die Nichtbereitstellung der personenbezogenen Daten hätte.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;15. Bestehen einer automatisierten Entscheidungsfindung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Als verantwortungsbewusstes Unternehmen verzichten wir auf eine automatische Entscheidungsfindung oder ein Profiling.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Diese Datenschutzerklärung wurde durch den Datenschutzerklärungs-Generator der DGD Deutsche Gesellschaft für Datenschutz GmbH, die als &amp;lt;a href=&amp;quot;https://dg-datenschutz.de/datenschutz-dienstleistungen/externer-datenschutzbeauftragter/&amp;quot;&amp;gt;Datenschutzbeauftragter&amp;lt;/a&amp;gt; tätig ist, in Kooperation mit den &amp;lt;a href=&amp;quot;https://www.wbs-law.de/it-recht/datenschutzrecht/&amp;quot;&amp;gt;Datenschutz Anwälten der Kanzlei WILDE BEUGER SOLMECKE | Rechtsanwälte&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt; erstellt.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte_-_Beispiele&amp;diff=25173</id>
		<title>Datenschutz - Mustertexte - Beispiele</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte_-_Beispiele&amp;diff=25173"/>
		<updated>2021-01-12T11:24:13Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: Die Seite wurde neu angelegt: „Beispiel Solmecke mit Google Analytics https://dsgvo-muster-datenschutzerklaerung.dg-datenschutz.de/ &amp;lt;html&amp;gt; &amp;lt;h4&amp;gt;Datenschutzerklärung&amp;lt;/h4&amp;gt;  &amp;lt;p&amp;gt;Wir freuen uns s…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Beispiel Solmecke mit Google Analytics https://dsgvo-muster-datenschutzerklaerung.dg-datenschutz.de/&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;Datenschutzerklärung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wir freuen uns sehr über Ihr Interesse an unserem Unternehmen. Datenschutz hat einen besonders hohen Stellenwert für die Geschäftsleitung der info@dojatec-vub.de. Eine Nutzung der Internetseiten der info@dojatec-vub.de ist grundsätzlich ohne jede Angabe personenbezogener Daten möglich. Sofern eine betroffene Person besondere Services unseres Unternehmens über unsere Internetseite in Anspruch nehmen möchte, könnte jedoch eine Verarbeitung personenbezogener Daten erforderlich werden. Ist die Verarbeitung personenbezogener Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir generell eine Einwilligung der betroffenen Person ein.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die Verarbeitung personenbezogener Daten, beispielsweise des Namens, der Anschrift, E-Mail-Adresse oder Telefonnummer einer betroffenen Person, erfolgt stets im Einklang mit der Datenschutz-Grundverordnung und in Übereinstimmung mit den für die info@dojatec-vub.de geltenden landesspezifischen Datenschutzbestimmungen. Mittels dieser Datenschutzerklärung möchte unser Unternehmen die Öffentlichkeit über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren. Ferner werden betroffene Personen mittels dieser Datenschutzerklärung über die ihnen zustehenden Rechte aufgeklärt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die info@dojatec-vub.de hat als für die Verarbeitung Verantwortlicher zahlreiche technische und organisatorische Maßnahmen umgesetzt, um einen möglichst lückenlosen Schutz der über diese Internetseite verarbeiteten personenbezogenen Daten sicherzustellen. Dennoch können Internetbasierte Datenübertragungen grundsätzlich Sicherheitslücken aufweisen, sodass ein absoluter Schutz nicht gewährleistet werden kann. Aus diesem Grund steht es jeder betroffenen Person frei, personenbezogene Daten auch auf alternativen Wegen, beispielsweise telefonisch, an uns zu übermitteln.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;1. Begriffsbestimmungen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Datenschutzerklärung der info@dojatec-vub.de beruht auf den Begrifflichkeiten, die durch den Europäischen Richtlinien- und Verordnungsgeber beim Erlass der Datenschutz-Grundverordnung (DS-GVO) verwendet wurden. Unsere Datenschutzerklärung soll sowohl für die Öffentlichkeit als auch für unsere Kunden und Geschäftspartner einfach lesbar und verständlich sein. Um dies zu gewährleisten, möchten wir vorab die verwendeten Begrifflichkeiten erläutern.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wir verwenden in dieser Datenschutzerklärung unter anderem die folgenden Begriffe:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a)    personenbezogene Daten&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Personenbezogene Daten sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden „betroffene Person“) beziehen. Als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung oder zu einem oder mehreren besonderen Merkmalen, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind, identifiziert werden kann.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b)    betroffene Person&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Betroffene Person ist jede identifizierte oder identifizierbare natürliche Person, deren personenbezogene Daten von dem für die Verarbeitung Verantwortlichen verarbeitet werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c)    Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verarbeitung ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführte Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten wie das Erheben, das Erfassen, die Organisation, das Ordnen, die Speicherung, die Anpassung oder Veränderung, das Auslesen, das Abfragen, die Verwendung, die Offenlegung durch Übermittlung, Verbreitung oder eine andere Form der Bereitstellung, den Abgleich oder die Verknüpfung, die Einschränkung, das Löschen oder die Vernichtung.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;d)    Einschränkung der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Einschränkung der Verarbeitung ist die Markierung gespeicherter personenbezogener Daten mit dem Ziel, ihre künftige Verarbeitung einzuschränken.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e)    Profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Profiling ist jede Art der automatisierten Verarbeitung personenbezogener Daten, die darin besteht, dass diese personenbezogenen Daten verwendet werden, um bestimmte persönliche Aspekte, die sich auf eine natürliche Person beziehen, zu bewerten, insbesondere, um Aspekte bezüglich Arbeitsleistung, wirtschaftlicher Lage, Gesundheit, persönlicher Vorlieben, Interessen, Zuverlässigkeit, Verhalten, Aufenthaltsort oder Ortswechsel dieser natürlichen Person zu analysieren oder vorherzusagen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f)     Pseudonymisierung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Pseudonymisierung ist die Verarbeitung personenbezogener Daten in einer Weise, auf welche die personenbezogenen Daten ohne Hinzuziehung zusätzlicher Informationen nicht mehr einer spezifischen betroffenen Person zugeordnet werden können, sofern diese zusätzlichen Informationen gesondert aufbewahrt werden und technischen und organisatorischen Maßnahmen unterliegen, die gewährleisten, dass die personenbezogenen Daten nicht einer identifizierten oder identifizierbaren natürlichen Person zugewiesen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;g)    Verantwortlicher oder für die Verarbeitung Verantwortlicher&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verantwortlicher oder für die Verarbeitung Verantwortlicher ist die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten entscheidet. Sind die Zwecke und Mittel dieser Verarbeitung durch das Unionsrecht oder das Recht der Mitgliedstaaten vorgegeben, so kann der Verantwortliche beziehungsweise können die bestimmten Kriterien seiner Benennung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten vorgesehen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h)    Auftragsverarbeiter&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Auftragsverarbeiter ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die personenbezogene Daten im Auftrag des Verantwortlichen verarbeitet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i)      Empfänger&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Empfänger ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, der personenbezogene Daten offengelegt werden, unabhängig davon, ob es sich bei ihr um einen Dritten handelt oder nicht. Behörden, die im Rahmen eines bestimmten Untersuchungsauftrags nach dem Unionsrecht oder dem Recht der Mitgliedstaaten möglicherweise personenbezogene Daten erhalten, gelten jedoch nicht als Empfänger.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;j)      Dritter&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Dritter ist eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle außer der betroffenen Person, dem Verantwortlichen, dem Auftragsverarbeiter und den Personen, die unter der unmittelbaren Verantwortung des Verantwortlichen oder des Auftragsverarbeiters befugt sind, die personenbezogenen Daten zu verarbeiten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;k)    Einwilligung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Einwilligung ist jede von der betroffenen Person freiwillig für den bestimmten Fall in informierter Weise und unmissverständlich abgegebene Willensbekundung in Form einer Erklärung oder einer sonstigen eindeutigen bestätigenden Handlung, mit der die betroffene Person zu verstehen gibt, dass sie mit der Verarbeitung der sie betreffenden personenbezogenen Daten einverstanden ist.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;2. Name und Anschrift des für die Verarbeitung Verantwortlichen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Verantwortlicher im Sinne der Datenschutz-Grundverordnung, sonstiger in den Mitgliedstaaten der Europäischen Union geltenden Datenschutzgesetze und anderer Bestimmungen mit datenschutzrechtlichem Charakter ist die:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;info@dojatec-vub.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Schillerstraße 20&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;72144 Dusslingen&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Deutschland&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Tel.: 07072 / 9293-0&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;E-Mail: dealer@stephanschlegel.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Website: dojatec.de&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;3. Cookies&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseiten der info@dojatec-vub.de verwenden Cookies. Cookies sind Textdateien, welche über einen Internetbrowser auf einem Computersystem abgelegt und gespeichert werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zahlreiche Internetseiten und Server verwenden Cookies. Viele Cookies enthalten eine sogenannte Cookie-ID. Eine Cookie-ID ist eine eindeutige Kennung des Cookies. Sie besteht aus einer Zeichenfolge, durch welche Internetseiten und Server dem konkreten Internetbrowser zugeordnet werden können, in dem das Cookie gespeichert wurde. Dies ermöglicht es den besuchten Internetseiten und Servern, den individuellen Browser der betroffenen Person von anderen Internetbrowsern, die andere Cookies enthalten, zu unterscheiden. Ein bestimmter Internetbrowser kann über die eindeutige Cookie-ID wiedererkannt und identifiziert werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch den Einsatz von Cookies kann die info@dojatec-vub.de den Nutzern dieser Internetseite nutzerfreundlichere Services bereitstellen, die ohne die Cookie-Setzung nicht möglich wären.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels eines Cookies können die Informationen und Angebote auf unserer Internetseite im Sinne des Benutzers optimiert werden. Cookies ermöglichen uns, wie bereits erwähnt, die Benutzer unserer Internetseite wiederzuerkennen. Zweck dieser Wiedererkennung ist es, den Nutzern die Verwendung unserer Internetseite zu erleichtern. Der Benutzer einer Internetseite, die Cookies verwendet, muss beispielsweise nicht bei jedem Besuch der Internetseite erneut seine Zugangsdaten eingeben, weil dies von der Internetseite und dem auf dem Computersystem des Benutzers abgelegten Cookie übernommen wird. Ein weiteres Beispiel ist das Cookie eines Warenkorbes im Online-Shop. Der Online-Shop merkt sich die Artikel, die ein Kunde in den virtuellen Warenkorb gelegt hat, über ein Cookie.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Ferner können bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden. Dies ist in allen gängigen Internetbrowsern möglich. Deaktiviert die betroffene Person die Setzung von Cookies in dem genutzten Internetbrowser, sind unter Umständen nicht alle Funktionen unserer Internetseite vollumfänglich nutzbar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;4. Erfassung von allgemeinen Daten und Informationen&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseite der info@dojatec-vub.de erfasst mit jedem Aufruf der Internetseite durch eine betroffene Person oder ein automatisiertes System eine Reihe von allgemeinen Daten und Informationen. Diese allgemeinen Daten und Informationen werden in den Logfiles des Servers gespeichert. Erfasst werden können die (1) verwendeten Browsertypen und Versionen, (2) das vom zugreifenden System verwendete Betriebssystem, (3) die Internetseite, von welcher ein zugreifendes System auf unsere Internetseite gelangt (sogenannte Referrer), (4) die Unterwebseiten, welche über ein zugreifendes System auf unserer Internetseite angesteuert werden, (5) das Datum und die Uhrzeit eines Zugriffs auf die Internetseite, (6) eine Internet-Protokoll-Adresse (IP-Adresse), (7) der Internet-Service-Provider des zugreifenden Systems und (8) sonstige ähnliche Daten und Informationen, die der Gefahrenabwehr im Falle von Angriffen auf unsere informationstechnologischen Systeme dienen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Bei der Nutzung dieser allgemeinen Daten und Informationen zieht die info@dojatec-vub.de keine Rückschlüsse auf die betroffene Person. Diese Informationen werden vielmehr benötigt, um (1) die Inhalte unserer Internetseite korrekt auszuliefern, (2) die Inhalte unserer Internetseite sowie die Werbung für diese zu optimieren, (3) die dauerhafte Funktionsfähigkeit unserer informationstechnologischen Systeme und der Technik unserer Internetseite zu gewährleisten sowie (4) um Strafverfolgungsbehörden im Falle eines Cyberangriffes die zur Strafverfolgung notwendigen Informationen bereitzustellen. Diese anonym erhobenen Daten und Informationen werden durch die info@dojatec-vub.de daher einerseits statistisch und ferner mit dem Ziel ausgewertet, den Datenschutz und die Datensicherheit in unserem Unternehmen zu erhöhen, um letztlich ein optimales Schutzniveau für die von uns verarbeiteten personenbezogenen Daten sicherzustellen. Die anonymen Daten der Server-Logfiles werden getrennt von allen durch eine betroffene Person angegebenen personenbezogenen Daten gespeichert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;5. Kontaktmöglichkeit über die Internetseite&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Die Internetseite der info@dojatec-vub.de enthält aufgrund von gesetzlichen Vorschriften Angaben, die eine schnelle elektronische Kontaktaufnahme zu unserem Unternehmen sowie eine unmittelbare Kommunikation mit uns ermöglichen, was ebenfalls eine allgemeine Adresse der sogenannten elektronischen Post (E-Mail-Adresse) umfasst. Sofern eine betroffene Person per E-Mail oder über ein Kontaktformular den Kontakt mit dem für die Verarbeitung Verantwortlichen aufnimmt, werden die von der betroffenen Person übermittelten personenbezogenen Daten automatisch gespeichert. Solche auf freiwilliger Basis von einer betroffenen Person an den für die Verarbeitung Verantwortlichen übermittelten personenbezogenen Daten werden für Zwecke der Bearbeitung oder der Kontaktaufnahme zur betroffenen Person gespeichert. Es erfolgt keine Weitergabe dieser personenbezogenen Daten an Dritte.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;6. Routinemäßige Löschung und Sperrung von personenbezogenen Daten&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche verarbeitet und speichert personenbezogene Daten der betroffenen Person nur für den Zeitraum, der zur Erreichung des Speicherungszwecks erforderlich ist oder sofern dies durch den Europäischen Richtlinien- und Verordnungsgeber oder einen anderen Gesetzgeber in Gesetzen oder Vorschriften, welchen der für die Verarbeitung Verantwortliche unterliegt, vorgesehen wurde.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Entfällt der Speicherungszweck oder läuft eine vom Europäischen Richtlinien- und Verordnungsgeber oder einem anderen zuständigen Gesetzgeber vorgeschriebene Speicherfrist ab, werden die personenbezogenen Daten routinemäßig und entsprechend den gesetzlichen Vorschriften gesperrt oder gelöscht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;7. Rechte der betroffenen Person&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;a)    Recht auf Bestätigung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber eingeräumte Recht, von dem für die Verarbeitung Verantwortlichen eine Bestätigung darüber zu verlangen, ob sie betreffende personenbezogene Daten verarbeitet werden. Möchte eine betroffene Person dieses Bestätigungsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;b)    Recht auf Auskunft&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, jederzeit von dem für die Verarbeitung Verantwortlichen unentgeltliche Auskunft über die zu seiner Person gespeicherten personenbezogenen Daten und eine Kopie dieser Auskunft zu erhalten. Ferner hat der Europäische Richtlinien- und Verordnungsgeber der betroffenen Person Auskunft über folgende Informationen zugestanden:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Verarbeitungszwecke&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Kategorien personenbezogener Daten, die verarbeitet werden&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;die Empfänger oder Kategorien von Empfängern, gegenüber denen die personenbezogenen Daten offengelegt worden sind oder noch offengelegt werden, insbesondere bei Empfängern in Drittländern oder bei internationalen Organisationen&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;falls möglich die geplante Dauer, für die die personenbezogenen Daten gespeichert werden, oder, falls dies nicht möglich ist, die Kriterien für die Festlegung dieser Dauer&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen eines Rechts auf Berichtigung oder Löschung der sie betreffenden personenbezogenen Daten oder auf Einschränkung der Verarbeitung durch den Verantwortlichen oder eines Widerspruchsrechts gegen diese Verarbeitung&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen eines Beschwerderechts bei einer Aufsichtsbehörde&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;wenn die personenbezogenen Daten nicht bei der betroffenen Person erhoben werden: Alle verfügbaren Informationen über die Herkunft der Daten&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling gemäß Artikel 22 Abs.1 und 4 DS-GVO und — zumindest in diesen Fällen — aussagekräftige Informationen über die involvierte Logik sowie die Tragweite und die angestrebten Auswirkungen einer derartigen Verarbeitung für die betroffene Person&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner steht der betroffenen Person ein Auskunftsrecht darüber zu, ob personenbezogene Daten an ein Drittland oder an eine internationale Organisation übermittelt wurden. Sofern dies der Fall ist, so steht der betroffenen Person im Übrigen das Recht zu, Auskunft über die geeigneten Garantien im Zusammenhang mit der Übermittlung zu erhalten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte eine betroffene Person dieses Auskunftsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;c)    Recht auf Berichtigung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, die unverzügliche Berichtigung sie betreffender unrichtiger personenbezogener Daten zu verlangen. Ferner steht der betroffenen Person das Recht zu, unter Berücksichtigung der Zwecke der Verarbeitung, die Vervollständigung unvollständiger personenbezogener Daten — auch mittels einer ergänzenden Erklärung — zu verlangen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte eine betroffene Person dieses Berichtigungsrecht in Anspruch nehmen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;d)    Recht auf Löschung (Recht auf Vergessen werden)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, von dem Verantwortlichen zu verlangen, dass die sie betreffenden personenbezogenen Daten unverzüglich gelöscht werden, sofern einer der folgenden Gründe zutrifft und soweit die Verarbeitung nicht erforderlich ist:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden für solche Zwecke erhoben oder auf sonstige Weise verarbeitet, für welche sie nicht mehr notwendig sind.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person widerruft ihre Einwilligung, auf die sich die Verarbeitung gemäß Art. 6 Abs. 1 Buchstabe a DS-GVO oder Art. 9 Abs. 2 Buchstabe a DS-GVO stützte, und es fehlt an einer anderweitigen Rechtsgrundlage für die Verarbeitung.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person legt gemäß Art. 21 Abs. 1 DS-GVO Widerspruch gegen die Verarbeitung ein, und es liegen keine vorrangigen berechtigten Gründe für die Verarbeitung vor, oder die betroffene Person legt gemäß Art. 21 Abs. 2 DS-GVO Widerspruch gegen die Verarbeitung ein.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden unrechtmäßig verarbeitet.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Löschung der personenbezogenen Daten ist zur Erfüllung einer rechtlichen Verpflichtung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten erforderlich, dem der Verantwortliche unterliegt.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die personenbezogenen Daten wurden in Bezug auf angebotene Dienste der Informationsgesellschaft gemäß Art. 8 Abs. 1 DS-GVO erhoben.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern einer der oben genannten Gründe zutrifft und eine betroffene Person die Löschung von personenbezogenen Daten, die bei der info@dojatec-vub.de gespeichert sind, veranlassen möchte, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden. Der Mitarbeiter der info@dojatec-vub.de wird veranlassen, dass dem Löschverlangen unverzüglich nachgekommen wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Wurden die personenbezogenen Daten von der info@dojatec-vub.de öffentlich gemacht und ist unser Unternehmen als Verantwortlicher gemäß Art. 17 Abs. 1 DS-GVO zur Löschung der personenbezogenen Daten verpflichtet, so trifft die info@dojatec-vub.de unter Berücksichtigung der verfügbaren Technologie und der Implementierungskosten angemessene Maßnahmen, auch technischer Art, um andere für die Datenverarbeitung Verantwortliche, welche die veröffentlichten personenbezogenen Daten verarbeiten, darüber in Kenntnis zu setzen, dass die betroffene Person von diesen anderen für die Datenverarbeitung Verantwortlichen die Löschung sämtlicher Links zu diesen personenbezogenen Daten oder von Kopien oder Replikationen dieser personenbezogenen Daten verlangt hat, soweit die Verarbeitung nicht erforderlich ist. Der Mitarbeiter der info@dojatec-vub.de wird im Einzelfall das Notwendige veranlassen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;e)    Recht auf Einschränkung der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, von dem Verantwortlichen die Einschränkung der Verarbeitung zu verlangen, wenn eine der folgenden Voraussetzungen gegeben ist:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Richtigkeit der personenbezogenen Daten wird von der betroffenen Person bestritten, und zwar für eine Dauer, die es dem Verantwortlichen ermöglicht, die Richtigkeit der personenbezogenen Daten zu überprüfen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die Verarbeitung ist unrechtmäßig, die betroffene Person lehnt die Löschung der personenbezogenen Daten ab und verlangt stattdessen die Einschränkung der Nutzung der personenbezogenen Daten.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Der Verantwortliche benötigt die personenbezogenen Daten für die Zwecke der Verarbeitung nicht länger, die betroffene Person benötigt sie jedoch zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Die betroffene Person hat Widerspruch gegen die Verarbeitung gem. Art. 21 Abs. 1 DS-GVO eingelegt und es steht noch nicht fest, ob die berechtigten Gründe des Verantwortlichen gegenüber denen der betroffenen Person überwiegen.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern eine der oben genannten Voraussetzungen gegeben ist und eine betroffene Person die Einschränkung von personenbezogenen Daten, die bei der info@dojatec-vub.de gespeichert sind, verlangen möchte, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden. Der Mitarbeiter der info@dojatec-vub.de wird die Einschränkung der Verarbeitung veranlassen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;f)     Recht auf Datenübertragbarkeit&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, die sie betreffenden personenbezogenen Daten, welche durch die betroffene Person einem Verantwortlichen bereitgestellt wurden, in einem strukturierten, gängigen und maschinenlesbaren Format zu erhalten. Sie hat außerdem das Recht, diese Daten einem anderen Verantwortlichen ohne Behinderung durch den Verantwortlichen, dem die personenbezogenen Daten bereitgestellt wurden, zu übermitteln, sofern die Verarbeitung auf der Einwilligung gemäß Art. 6 Abs. 1 Buchstabe a DS-GVO oder Art. 9 Abs. 2 Buchstabe a DS-GVO oder auf einem Vertrag gemäß Art. 6 Abs. 1 Buchstabe b DS-GVO beruht und die Verarbeitung mithilfe automatisierter Verfahren erfolgt, sofern die Verarbeitung nicht für die Wahrnehmung einer Aufgabe erforderlich ist, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, welche dem Verantwortlichen übertragen wurde.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner hat die betroffene Person bei der Ausübung ihres Rechts auf Datenübertragbarkeit gemäß Art. 20 Abs. 1 DS-GVO das Recht, zu erwirken, dass die personenbezogenen Daten direkt von einem Verantwortlichen an einen anderen Verantwortlichen übermittelt werden, soweit dies technisch machbar ist und sofern hiervon nicht die Rechte und Freiheiten anderer Personen beeinträchtigt werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zur Geltendmachung des Rechts auf Datenübertragbarkeit kann sich die betroffene Person jederzeit an einen Mitarbeiter der info@dojatec-vub.de wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;g)    Recht auf Widerspruch&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung sie betreffender personenbezogener Daten, die aufgrund von Art. 6 Abs. 1 Buchstaben e oder f DS-GVO erfolgt, Widerspruch einzulegen. Dies gilt auch für ein auf diese Bestimmungen gestütztes Profiling.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die info@dojatec-vub.de verarbeitet die personenbezogenen Daten im Falle des Widerspruchs nicht mehr, es sei denn, wir können zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die den Interessen, Rechten und Freiheiten der betroffenen Person überwiegen, oder die Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Verarbeitet die info@dojatec-vub.de personenbezogene Daten, um Direktwerbung zu betreiben, so hat die betroffene Person das Recht, jederzeit Widerspruch gegen die Verarbeitung der personenbezogenen Daten zum Zwecke derartiger Werbung einzulegen. Dies gilt auch für das Profiling, soweit es mit solcher Direktwerbung in Verbindung steht. Widerspricht die betroffene Person gegenüber der info@dojatec-vub.de der Verarbeitung für Zwecke der Direktwerbung, so wird die info@dojatec-vub.de die personenbezogenen Daten nicht mehr für diese Zwecke verarbeiten.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zudem hat die betroffene Person das Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, gegen die sie betreffende Verarbeitung personenbezogener Daten, die bei der info@dojatec-vub.de zu wissenschaftlichen oder historischen Forschungszwecken oder zu statistischen Zwecken gemäß Art. 89 Abs. 1 DS-GVO erfolgen, Widerspruch einzulegen, es sei denn, eine solche Verarbeitung ist zur Erfüllung einer im öffentlichen Interesse liegenden Aufgabe erforderlich.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Zur Ausübung des Rechts auf Widerspruch kann sich die betroffene Person direkt an jeden Mitarbeiter der info@dojatec-vub.de oder einen anderen Mitarbeiter wenden. Der betroffenen Person steht es ferner frei, im Zusammenhang mit der Nutzung von Diensten der Informationsgesellschaft, ungeachtet der Richtlinie 2002/58/EG, ihr Widerspruchsrecht mittels automatisierter Verfahren auszuüben, bei denen technische Spezifikationen verwendet werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;h)    Automatisierte Entscheidungen im Einzelfall einschließlich Profiling&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, nicht einer ausschließlich auf einer automatisierten Verarbeitung — einschließlich Profiling — beruhenden Entscheidung unterworfen zu werden, die ihr gegenüber rechtliche Wirkung entfaltet oder sie in ähnlicher Weise erheblich beeinträchtigt, sofern die Entscheidung (1) nicht für den Abschluss oder die Erfüllung eines Vertrags zwischen der betroffenen Person und dem Verantwortlichen erforderlich ist, oder (2) aufgrund von Rechtsvorschriften der Union oder der Mitgliedstaaten, denen der Verantwortliche unterliegt, zulässig ist und diese Rechtsvorschriften angemessene Maßnahmen zur Wahrung der Rechte und Freiheiten sowie der berechtigten Interessen der betroffenen Person enthalten oder (3) mit ausdrücklicher Einwilligung der betroffenen Person erfolgt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ist die Entscheidung (1) für den Abschluss oder die Erfüllung eines Vertrags zwischen der betroffenen Person und dem Verantwortlichen erforderlich oder (2) erfolgt sie mit ausdrücklicher Einwilligung der betroffenen Person, trifft die info@dojatec-vub.de angemessene Maßnahmen, um die Rechte und Freiheiten sowie die berechtigten Interessen der betroffenen Person zu wahren, wozu mindestens das Recht auf Erwirkung des Eingreifens einer Person seitens des Verantwortlichen, auf Darlegung des eigenen Standpunkts und auf Anfechtung der Entscheidung gehört.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte die betroffene Person Rechte mit Bezug auf automatisierte Entscheidungen geltend machen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;i)      Recht auf Widerruf einer datenschutzrechtlichen Einwilligung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Jede von der Verarbeitung personenbezogener Daten betroffene Person hat das vom Europäischen Richtlinien- und Verordnungsgeber gewährte Recht, eine Einwilligung zur Verarbeitung personenbezogener Daten jederzeit zu widerrufen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Möchte die betroffene Person ihr Recht auf Widerruf einer Einwilligung geltend machen, kann sie sich hierzu jederzeit an einen Mitarbeiter des für die Verarbeitung Verantwortlichen wenden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;8. Datenschutz bei Bewerbungen und im Bewerbungsverfahren&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche erhebt und verarbeitet die personenbezogenen Daten von Bewerbern zum Zwecke der Abwicklung des Bewerbungsverfahrens. Die Verarbeitung kann auch auf elektronischem Wege erfolgen. Dies ist insbesondere dann der Fall, wenn ein Bewerber entsprechende Bewerbungsunterlagen auf dem elektronischen Wege, beispielsweise per E-Mail oder über ein auf der Internetseite befindliches Webformular, an den für die Verarbeitung Verantwortlichen übermittelt. Schließt der für die Verarbeitung Verantwortliche einen Anstellungsvertrag mit einem Bewerber, werden die übermittelten Daten zum Zwecke der Abwicklung des Beschäftigungsverhältnisses unter Beachtung der gesetzlichen Vorschriften gespeichert. Wird von dem für die Verarbeitung Verantwortlichen kein Anstellungsvertrag mit dem Bewerber geschlossen, so werden die Bewerbungsunterlagen zwei Monate nach Bekanntgabe der Absageentscheidung automatisch gelöscht, sofern einer Löschung keine sonstigen berechtigten Interessen des für die Verarbeitung Verantwortlichen entgegenstehen. Sonstiges berechtigtes Interesse in diesem Sinne ist beispielsweise eine Beweispflicht in einem Verfahren nach dem Allgemeinen Gleichbehandlungsgesetz (AGG).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;9. Datenschutzbestimmungen zu Einsatz und Verwendung von Google Analytics (mit Anonymisierungsfunktion)&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite die Komponente Google Analytics (mit Anonymisierungsfunktion) integriert. Google Analytics ist ein Web-Analyse-Dienst. Web-Analyse ist die Erhebung, Sammlung und Auswertung von Daten über das Verhalten von Besuchern von Internetseiten. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Internetseite eine betroffene Person auf eine Internetseite gekommen ist (sogenannte Referrer), auf welche Unterseiten der Internetseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde. Eine Web-Analyse wird überwiegend zur Optimierung einer Internetseite und zur Kosten-Nutzen-Analyse von Internetwerbung eingesetzt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft der Google-Analytics-Komponente ist die Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche verwendet für die Web-Analyse über Google Analytics den Zusatz &amp;quot;_gat._anonymizeIp&amp;quot;. Mittels dieses Zusatzes wird die IP-Adresse des Internetanschlusses der betroffenen Person von Google gekürzt und anonymisiert, wenn der Zugriff auf unsere Internetseiten aus einem Mitgliedstaat der Europäischen Union oder aus einem anderen Vertragsstaat des Abkommens über den Europäischen Wirtschaftsraum erfolgt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Der Zweck der Google-Analytics-Komponente ist die Analyse der Besucherströme auf unserer Internetseite. Google nutzt die gewonnenen Daten und Informationen unter anderem dazu, die Nutzung unserer Internetseite auszuwerten, um für uns Online-Reports, welche die Aktivitäten auf unseren Internetseiten aufzeigen, zusammenzustellen, und um weitere mit der Nutzung unserer Internetseite in Verbindung stehende Dienstleistungen zu erbringen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Google Analytics setzt ein Cookie auf dem informationstechnologischen System der betroffenen Person. Was Cookies sind, wurde oben bereits erläutert. Mit Setzung des Cookies wird Google eine Analyse der Benutzung unserer Internetseite ermöglicht. Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Google-Analytics-Komponente integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Google-Analytics-Komponente veranlasst, Daten zum Zwecke der Online-Analyse an Google zu übermitteln. Im Rahmen dieses technischen Verfahrens erhält Google Kenntnis über personenbezogene Daten, wie der IP-Adresse der betroffenen Person, die Google unter anderem dazu dienen, die Herkunft der Besucher und Klicks nachzuvollziehen und in der Folge Provisionsabrechnungen zu ermöglichen.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mittels des Cookies werden personenbezogene Informationen, beispielsweise die Zugriffszeit, der Ort, von welchem ein Zugriff ausging und die Häufigkeit der Besuche unserer Internetseite durch die betroffene Person, gespeichert. Bei jedem Besuch unserer Internetseiten werden diese personenbezogenen Daten, einschließlich der IP-Adresse des von der betroffenen Person genutzten Internetanschlusses, an Google in den Vereinigten Staaten von Amerika übertragen. Diese personenbezogenen Daten werden durch Google in den Vereinigten Staaten von Amerika gespeichert. Google gibt diese über das technische Verfahren erhobenen personenbezogenen Daten unter Umständen an Dritte weiter.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite, wie oben bereits dargestellt, jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Eine solche Einstellung des genutzten Internetbrowsers würde auch verhindern, dass Google ein Cookie auf dem informationstechnologischen System der betroffenen Person setzt. Zudem kann ein von Google Analytics bereits gesetzter Cookie jederzeit über den Internetbrowser oder andere Softwareprogramme gelöscht werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch Google Analytics erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten sowie der Verarbeitung dieser Daten durch Google zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person ein Browser-Add-On unter dem Link https://tools.google.com/dlpage/gaoptout herunterladen und installieren. Dieses Browser-Add-On teilt Google Analytics über JavaScript mit, dass keine Daten und Informationen zu den Besuchen von Internetseiten an Google Analytics übermittelt werden dürfen. Die Installation des Browser-Add-Ons wird von Google als Widerspruch gewertet. Wird das informationstechnologische System der betroffenen Person zu einem späteren Zeitpunkt gelöscht, formatiert oder neu installiert, muss durch die betroffene Person eine erneute Installation des Browser-Add-Ons erfolgen, um Google Analytics zu deaktivieren. Sofern das Browser-Add-On durch die betroffene Person oder einer anderen Person, die ihrem Machtbereich zuzurechnen ist, deinstalliert oder deaktiviert wird, besteht die Möglichkeit der Neuinstallation oder der erneuten Aktivierung des Browser-Add-Ons.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Google können unter https://www.google.de/intl/de/policies/privacy/ und unter http://www.google.com/analytics/terms/de.html abgerufen werden. Google Analytics wird unter diesem Link https://www.google.com/intl/de_de/analytics/ genauer erläutert.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;10. Datenschutzbestimmungen zu Einsatz und Verwendung von Instagram&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten des Dienstes Instagram integriert. Instagram ist ein Dienst, der als audiovisuelle Plattform zu qualifizieren ist und den Nutzern das Teilen von Fotos und Videos und zudem eine Weiterverbreitung solcher Daten in anderen sozialen Netzwerken ermöglicht.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Betreibergesellschaft der Dienste von Instagram ist die Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2 Ireland.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Instagram-Komponente (Insta-Button) integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Instagram-Komponente veranlasst, eine Darstellung der entsprechenden Komponente von Instagram herunterzuladen. Im Rahmen dieses technischen Verfahrens erhält Instagram Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Sofern die betroffene Person gleichzeitig bei Instagram eingeloggt ist, erkennt Instagram mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite die betroffene Person besucht. Diese Informationen werden durch die Instagram-Komponente gesammelt und durch Instagram dem jeweiligen Instagram-Account der betroffenen Person zugeordnet. Betätigt die betroffene Person einen der auf unserer Internetseite integrierten Instagram-Buttons, werden die damit übertragenen Daten und Informationen dem persönlichen Instagram-Benutzerkonto der betroffenen Person zugeordnet und von Instagram gespeichert und verarbeitet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Instagram erhält über die Instagram-Komponente immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufs unserer Internetseite gleichzeitig bei Instagram eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person die Instagram-Komponente anklickt oder nicht. Ist eine derartige Übermittlung dieser Informationen an Instagram von der betroffenen Person nicht gewollt, kann diese die Übermittlung dadurch verhindern, dass sie sich vor einem Aufruf unserer Internetseite aus ihrem Instagram-Account ausloggt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Weitere Informationen und die geltenden Datenschutzbestimmungen von Instagram können unter https://help.instagram.com/155833707900388 und https://www.instagram.com/about/legal/privacy/ abgerufen werden.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;11. Rechtsgrundlage der Verarbeitung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Art. 6 I lit. a DS-GVO dient unserem Unternehmen als Rechtsgrundlage für Verarbeitungsvorgänge, bei denen wir eine Einwilligung für einen bestimmten Verarbeitungszweck einholen. Ist die Verarbeitung personenbezogener Daten zur Erfüllung eines Vertrags, dessen Vertragspartei die betroffene Person ist, erforderlich, wie dies beispielsweise bei Verarbeitungsvorgängen der Fall ist, die für eine Lieferung von Waren oder die Erbringung einer sonstigen Leistung oder Gegenleistung notwendig sind, so beruht die Verarbeitung auf Art. 6 I lit. b DS-GVO. Gleiches gilt für solche Verarbeitungsvorgänge die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind, etwa in Fällen von Anfragen zur unseren Produkten oder Leistungen. Unterliegt unser Unternehmen einer rechtlichen Verpflichtung durch welche eine Verarbeitung von personenbezogenen Daten erforderlich wird, wie beispielsweise zur Erfüllung steuerlicher Pflichten, so basiert die Verarbeitung auf Art. 6 I lit. c DS-GVO. In seltenen Fällen könnte die Verarbeitung von personenbezogenen Daten erforderlich werden, um lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person zu schützen. Dies wäre beispielsweise der Fall, wenn ein Besucher in unserem Betrieb verletzt werden würde und daraufhin sein Name, sein Alter, seine Krankenkassendaten oder sonstige lebenswichtige Informationen an einen Arzt, ein Krankenhaus oder sonstige Dritte weitergegeben werden müssten. Dann würde die Verarbeitung auf Art. 6 I lit. d DS-GVO beruhen.&lt;br /&gt;
Letztlich könnten Verarbeitungsvorgänge auf Art. 6 I lit. f DS-GVO beruhen. Auf dieser Rechtsgrundlage basieren Verarbeitungsvorgänge, die von keiner der vorgenannten Rechtsgrundlagen erfasst werden, wenn die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich ist, sofern die Interessen, Grundrechte und Grundfreiheiten des Betroffenen nicht überwiegen. Solche Verarbeitungsvorgänge sind uns insbesondere deshalb gestattet, weil sie durch den Europäischen Gesetzgeber besonders erwähnt wurden. Er vertrat insoweit die Auffassung, dass ein berechtigtes Interesse anzunehmen sein könnte, wenn die betroffene Person ein Kunde des Verantwortlichen ist (Erwägungsgrund 47 Satz 2 DS-GVO).&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;12. Berechtigte Interessen an der Verarbeitung, die von dem Verantwortlichen oder einem Dritten verfolgt werden&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Basiert die Verarbeitung personenbezogener Daten auf Artikel 6 I lit. f DS-GVO ist unser berechtigtes Interesse die Durchführung unserer Geschäftstätigkeit zugunsten des Wohlergehens all unserer Mitarbeiter und unserer Anteilseigner.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;13. Dauer, für die die personenbezogenen Daten gespeichert werden&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Das Kriterium für die Dauer der Speicherung von personenbezogenen Daten ist die jeweilige gesetzliche Aufbewahrungsfrist. Nach Ablauf der Frist werden die entsprechenden Daten routinemäßig gelöscht, sofern sie nicht mehr zur Vertragserfüllung oder Vertragsanbahnung erforderlich sind.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;14. Gesetzliche oder vertragliche Vorschriften zur Bereitstellung der personenbezogenen Daten; Erforderlichkeit für den Vertragsabschluss; Verpflichtung der betroffenen Person, die personenbezogenen Daten bereitzustellen; mögliche Folgen der Nichtbereitstellung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wir klären Sie darüber auf, dass die Bereitstellung personenbezogener Daten zum Teil gesetzlich vorgeschrieben ist (z.B. Steuervorschriften) oder sich auch aus vertraglichen Regelungen (z.B. Angaben zum Vertragspartner) ergeben kann.&lt;br /&gt;
Mitunter kann es zu einem Vertragsschluss erforderlich sein, dass eine betroffene Person uns personenbezogene Daten zur Verfügung stellt, die in der Folge durch uns verarbeitet werden müssen. Die betroffene Person ist beispielsweise verpflichtet uns personenbezogene Daten bereitzustellen, wenn unser Unternehmen mit ihr einen Vertrag abschließt. Eine Nichtbereitstellung der personenbezogenen Daten hätte zur Folge, dass der Vertrag mit dem Betroffenen nicht geschlossen werden könnte.&lt;br /&gt;
Vor einer Bereitstellung personenbezogener Daten durch den Betroffenen muss sich der Betroffene an einen unserer Mitarbeiter wenden. Unser Mitarbeiter klärt den Betroffenen einzelfallbezogen darüber auf, ob die Bereitstellung der personenbezogenen Daten gesetzlich oder vertraglich vorgeschrieben oder für den Vertragsabschluss erforderlich ist, ob eine Verpflichtung besteht, die personenbezogenen Daten bereitzustellen, und welche Folgen die Nichtbereitstellung der personenbezogenen Daten hätte.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;15. Bestehen einer automatisierten Entscheidungsfindung&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Als verantwortungsbewusstes Unternehmen verzichten wir auf eine automatische Entscheidungsfindung oder ein Profiling.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Diese Datenschutzerklärung wurde durch den Datenschutzerklärungs-Generator der DGD Deutsche Gesellschaft für Datenschutz GmbH, die als &amp;lt;a href=&amp;quot;https://dg-datenschutz.de/datenschutz-dienstleistungen/externer-datenschutzbeauftragter/&amp;quot;&amp;gt;Datenschutzbeauftragter&amp;lt;/a&amp;gt; tätig ist, in Kooperation mit den &amp;lt;a href=&amp;quot;https://www.wbs-law.de/it-recht/datenschutzrecht/&amp;quot;&amp;gt;Datenschutz Anwälten der Kanzlei WILDE BEUGER SOLMECKE | Rechtsanwälte&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt; erstellt.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte&amp;diff=25172</id>
		<title>Datenschutz - Mustertexte</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte&amp;diff=25172"/>
		<updated>2021-01-12T11:20:50Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Komplette Beispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Todos ==&lt;br /&gt;
Text f. Bewerbung&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Schön wäre ein Datenschutzhinweis der kurz und Verständlich formuliert ist und eine ausführliche Datenschutzerklärung&lt;br /&gt;
&lt;br /&gt;
== Checkliste - Einzelvorgänge ==&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
==== Verantwortlicher ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NAME UND ANSCHRIFT DES VERANTWORTLICHEN&lt;br /&gt;
Der Verantwortliche im Sinne der Datenschutz-Grundverordnung und anderer nationaler Datenschutzgesetze der Mitgliedsstaaten sowie sonstiger datenschutzrechtlicher Bestimmungen ist:&lt;br /&gt;
&lt;br /&gt;
Musterfirma&lt;br /&gt;
Musterstraße 1&lt;br /&gt;
12345 Musterstadt&lt;br /&gt;
Deutschland&lt;br /&gt;
Tel.: Telefonnummer&lt;br /&gt;
E-Mail: muster@e-mail.de&lt;br /&gt;
Website: www.musterwebsite.de&lt;br /&gt;
&lt;br /&gt;
DATENSCHUTZBEAUFTRAGTER&lt;br /&gt;
&lt;br /&gt;
Der Datenschutzbeauftragte des Verantwortlichen ist:&lt;br /&gt;
&lt;br /&gt;
Max Mustermann &lt;br /&gt;
Musterunternehmen (wenn extern)&lt;br /&gt;
Musterstraße 1&lt;br /&gt;
12345 Musterstadt&lt;br /&gt;
Deutschland&lt;br /&gt;
Tel.: Telefonnummer&lt;br /&gt;
E-Mail: max.mustermann@e-mail.de&lt;br /&gt;
Website: www.musterwebsite.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sie können diese Website in der Regel ohne Angabe personenbezogener Daten nutzen. Soweit wir personenbezogene Daten erfassen (z.B. wenn Sie mit uns in Kontakt treten möchten), erfolgt dies stets gemäß den gesetzlichen Datenschutzvorschriften, sowie dieser Datenschutzerklärung. Ohne ausdrückliche Zustimmung werden Ihre Daten niemals an Dritte weitergegeben.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Verschlüsselte Datenübertragung ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VERSCHLÜSSELTE DATENÜBERTRAGUNG&lt;br /&gt;
&lt;br /&gt;
Auf allen Seiten unseres Internetangebots, auf denen Sie persönliche Daten eingeben - so z. B. in unserem Kontaktformular, werden Ihre Daten direkt bei der Übertragung verschlüsselt. Alle datenschutzrelevanten Informationen (wie Name und Adresse) werden geschützt gespeichert.&lt;br /&gt;
Wir möchten Sie darauf hinweisen, dass die Datenübertragung im Internet (z .B. wenn Sie uns eine E-Mail schreiben) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist generell nicht möglich.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Umfang der Verarbeitung ====&lt;br /&gt;
Quelle Uni Münster (überarbeitet)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UMFANG DER VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten personenbezogene Daten unserer Nutzer grundsätzlich nur, soweit dies für die Funktion der Website und die Bereitstellung der Inhalte und angebotenen Leistungen erforderlich ist. Die Verarbeitung personenbezogener Daten unserer Nutzer erfolgt regelmäßig nur nach Einwilligung des Nutzers. Ausnahmen gelten, wenn eine vorherige Einholung einer Einwilligung aus tatsächlichen Gründen nicht möglich ist und die Verarbeitung der Daten durch gesetzliche Vorschriften gestattet ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Rechtsgrundlage der Verarbeitung====&lt;br /&gt;
Quelle Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RECHTSGRUNDLAGE FÜR DIE VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Soweit wir für Verarbeitungsvorgänge personenbezogener Daten eine Einwilligung der betroffenen Person einholen, dient Art. 6 Abs. 1 lit. a EU-Datenschutzgrundverordnung (DS-GVO) als Rechtsgrundlage.&lt;br /&gt;
Bei der Verarbeitung von personenbezogenen Daten, die zur Erfüllung eines Vertrages, dessen Vertragspartei die betroffene Person ist, erforderlich ist, dient Art. 6 Abs. 1 lit. b DS-GVO als Rechtsgrundlage. Dies gilt auch für Verarbeitungsvorgänge, die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind.&lt;br /&gt;
Soweit eine Verarbeitung personenbezogener Daten zur Erfüllung einer rechtlichen Verpflichtung erforderlich ist, der unser Unternehmen unterliegt, dient Art. 6 Abs. 1 lit. c DS-GVO als Rechtsgrundlage.&lt;br /&gt;
Für den Fall, dass lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person eine Verarbeitung personenbezogener Daten erforderlich machen, dient Art. 6 Abs. 1 lit. d DS-GVO als Rechtsgrundlage.&lt;br /&gt;
Ist die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich und überwiegen die Interessen, Grundrechte und Grundfreiheiten des Betroffenen das erstgenannte Interesse nicht, so dient Art. 6 Abs. 1 lit. f DS-GVO als Rechtsgrundlage für die Verarbeitung. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Datenlöschung und Speicherdauer ====&lt;br /&gt;
Quelle Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATENLÖSCHUNG UND SPEICHERDAUER&lt;br /&gt;
&lt;br /&gt;
Die personenbezogenen Daten der betroffenen Person werden gelöscht oder gesperrt, sobald der Zweck der Speicherung entfällt. Eine Speicherung kann darüber hinaus erfolgen, wenn dies durch den europäischen oder nationalen Gesetzgeber in unionsrechtlichen Verordnungen, Gesetzen oder sonstigen Vorschriften, denen der Verantwortliche unterliegt, vorgesehen wurde. Eine Sperrung oder Löschung der Daten erfolgt auch dann, wenn eine durch die genannten Normen vorgeschriebene Speicherfrist abläuft, es sei denn, dass eine Erforderlichkeit zur weiteren Speicherung der Daten für einen Vertragsabschluss oder eine Vertragserfüllung besteht.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bereitstellung der Website und Erstellung von Logfiles ===&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BEREITSTELLUNG DER WEBSITE UND ERSTELLUNG VON LOGFILES&lt;br /&gt;
&lt;br /&gt;
Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Bei jedem Aufruf unserer Internetseite erfasst unser System automatisiert Daten und Informationen vom Computersystem des aufrufenden Rechners. &lt;br /&gt;
Folgende Daten werden hierbei erhoben:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dieser Teil ist entsprechend anzupassen. Nicht zutreffende Daten sind zu entfernen, fehlende zu ergänzen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Informationen über den Browsertyp und die verwendete Version&lt;br /&gt;
Das Betriebssystem des Nutzers&lt;br /&gt;
Den Internet-Service-Provider des Nutzers&lt;br /&gt;
Die IP-Adresse des Nutzers&lt;br /&gt;
Datum und Uhrzeit des Zugriffs&lt;br /&gt;
Websites, von denen das System des Nutzers auf unsere Internetseite gelangt &lt;br /&gt;
Websites, die vom System des Nutzers über unsere Website aufgerufen werden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 1: &amp;#039;&amp;#039;&amp;#039;Die Logfiles enthalten IP-Adressen&amp;#039;&amp;#039;&amp;#039; oder sonstige Daten, &amp;#039;&amp;#039;&amp;#039;die eine Zuordnung zu einem Nutzer ermöglichen&amp;#039;&amp;#039;&amp;#039;. Dies könnte beispielsweise der Fall sein, wenn der Link zur Website, von der der Nutzer auf die Internetseite gelangt, oder der Link zur Website, zu der der Nutzer wechselt, personenbezogene Daten enthält.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 2: Die &amp;#039;&amp;#039;&amp;#039;Logfiles enthalten keine IP-Adressen oder sonstigen Daten, die eine Zuordnung zu einem Nutzer ermöglichen&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. Nicht hiervon betroffen sind die IP-Adressen des Nutzers oder andere Daten, die die Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 3: anonymisierte Logfiles&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. IP-Adressen werden im Logfile  teilanonymisiert gespeichert, ihnen fehlt dadurch das Merkmal der Personenbezogenheit. Es werden keine Daten gespeichert, die eine Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&lt;br /&gt;
 Rechtsgrundlage für die vorübergehende Speicherung der Daten und der Logfiles ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Falls keine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&lt;br /&gt;
 Rechtsgrundlage für die vorübergehende Speicherung der Daten ist Art. 6 Abs. 1 lit. f DSGVO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die vorübergehende Speicherung der IP-Adresse durch das System ist notwendig, um eine Auslieferung der Website an den Rechner des Nutzers zu ermöglichen. Hierfür muss die IP-Adresse des Nutzers für die Dauer der Sitzung gespeichert bleiben. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Speicherung in Logfiles erfolgt, um die Funktionsfähigkeit der Website sicherzustellen. Zudem dienen uns die Daten zur Optimierung der Website und zur Sicherstellung der Sicherheit unserer informationstechnischen Systeme. Eine Auswertung der Daten zu Marketingzwecken findet in diesem Zusammenhang nicht statt. &lt;br /&gt;
&lt;br /&gt;
In diesen Zwecken liegt auch unser berechtigtes Interesse an der Datenverarbeitung nach Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dauer der Speicherung&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Im Falle der Erfassung der Daten zur Bereitstellung der Website ist dies der Fall, wenn die jeweilige Sitzung beendet ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Im Falle der Speicherung der Daten in Logfiles ist dies nach spätestens sieben Tagen der Fall. Eine darüberhinausgehende Speicherung ist möglich. In diesem Fall werden die IP-Adressen der Nutzer gelöscht oder verfremdet, sodass eine Zuordnung des aufrufenden Clients nicht mehr möglich ist.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Die Erfassung der Daten zur Bereitstellung der Website und die Speicherung der Daten in Logfiles ist für den Betrieb der Internetseite zwingend erforderlich. Es besteht folglich seitens des Nutzers keine Widerspruchsmöglichkeit. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Erstellung von Zugriffsstatistik (Webalizer) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ERSTELLUNG DER ZUGRIFFSSTATISTIK&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet Webalizer.&lt;br /&gt;
Bei diesem Produkt handelt es sich um einen Web-Analyse-Dienst, der Daten über das Verhalten von Besuchern von Webseiten erhebt, sammelt und auswertet. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Webseite eine betroffene Person auf eine Webseite gekommen ist (wenn die Person zuvor einen Link geklickt hat), auf welche Unterseiten der Webseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde.&lt;br /&gt;
&lt;br /&gt;
Der Zweck der Verwendung ist die Auswertung der Nutzung von Webseiten zur Verbesserung des Angebots und der Bedienung. Durch die Auswertung kann in Erfahrung gebracht werden, wie die jeweilige Website genutzt wird und so das Angebot der Webseite stetig optimiert werden.&lt;br /&gt;
&lt;br /&gt;
Die auf diese Weise zu Analysezwecken erhoben Daten der Nutzer werden durch technische Vorkehrungen anonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich. Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert.&lt;br /&gt;
&lt;br /&gt;
In diesen Zwecken liegt auch das berechtigte Interesse des Webseitenbetreibers in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 Buchstabe f DSGVO. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Zeitlich unbegrenzt (bis zum manuellen Entfernen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dienst speichert die von ihnen verarbeiteten Daten ohne zeitliche Begrenzung. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder (Default Einstellung all-inkl)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dienst speichert die verarbeiteten Daten für 190 Tage.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dients nutzt keine Cookies, sondern verarbeiten ausschließlich die Daten des Logfiles (siehe Erstellung von Logfiles). IP-Adressen werden im Logfile  teilanonymisiert gespeichert, ihnen fehlt darum das Merkmal der Personenbezogenheit.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cookies ===&lt;br /&gt;
https://accentikainternet.co.uk/article-details/article/make-your-typo3-website-cookie-compliant-with-eu-law.html (netter englischer text)&lt;br /&gt;
&lt;br /&gt;
==== Cookies Text ====&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VERWENDUNG VON COOKIES&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite verwendet Cookies. Bei Cookies handelt es sich um Textdateien, die im Internetbrowser bzw. vom Internetbrowser auf dem Computersystem des Nutzers gespeichert werden. Dieser Cookie enthält eine charakteristische Zeichenfolge. Dadurch können wir den Browser beim erneuten Aufrufen der Website wiedererkennen.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Verwendung technisch notwendiger Cookies erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Durch den Einsatz von Cookies können wir unsere Website nutzerfreundlicher gestalten. Einige Elemente unserer Internetseite erfordern es, dass der aufrufende Browser auch nach einem Seitenwechsel identifiziert werden kann. &lt;br /&gt;
Für folgende Zwecke nutzen wir Cookies:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der gespeicherten Daten. Beispiele können sein:&lt;br /&gt;
* Merken von Spracheinstellungen&lt;br /&gt;
* Speichern von Artikel im Warenkorb&lt;br /&gt;
* Verwalten Log-In-Informationen&lt;br /&gt;
* Speichern von Benutzereinstellungen&lt;br /&gt;
* Verbesserung der Sicherheit&lt;br /&gt;
&lt;br /&gt;
Falls zudem eine Verwendung technisch nicht notwendiger Cookies erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Wir verwenden auf unserer Website darüber hinaus Cookies, die eine Analyse des Surfverhaltens der Nutzer ermöglichen. &lt;br /&gt;
Auf diese Weise können folgende Daten übermittelt werden:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der erhobenen Daten. Diese können beispielsweise sein:&lt;br /&gt;
* (1) Eingegebene Suchbegriffe&lt;br /&gt;
* (2) Häufigkeit von Seitenaufrufen&lt;br /&gt;
* (3) Inanspruchnahme von Website-Funktionen&lt;br /&gt;
&lt;br /&gt;
Bislang war es nach § 15 Abs. 3 TMG möglich, für technisch nicht notwendige Cookies eine Pseudonymisierung der verarbeiteten personenbezogenen Daten vorzunehmen und den Nutzer über die Verwendung der Cookies und sein Widerspruchs- und Beseitigungsrecht zu informieren („Opt-Out-Lösung“). Es ist jedoch in der juristischen Literatur umstritten, ob diese Norm auch nach Geltung der DSGVO weiter Anwendung findet. Im Zweifel muss daher davon ausgegangen werden, dass nunmehr allein die Vorschriften der DSGVO gelten. In diesem Fall ist allein auf Art. 6 Abs. 1 DSGVO abzustellen. Auch nach dieser Norm ist eine Fortführung der bisherigen Praxis denkbar, wenn auf ein „berechtigtes Interesse“ des Verarbeitenden nach Art. 6 Abs. 1 lit. f DSGVO abgestellt wird. Falls also vor dem Setzen und Abrufen der technisch nicht notwendigen Cookies keine Einwilligung des Nutzers eingeholt wird:&lt;br /&gt;
Die auf diese Weise erhobenen Daten der Nutzer werden durch technische Vorkehrungen pseudonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich. Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert.&lt;br /&gt;
Beim Aufruf unserer Website werden die Nutzer durch einen Infobanner über die Verwendung von Cookies zu Analysezwecken informiert und auf diese Datenschutzerklärung verwiesen. Es erfolgt in diesem Zusammenhang auch ein Hinweis darauf, wie die Speicherung von Cookies in den Browsereinstellungen unterbunden werden kann.&lt;br /&gt;
Ob die bisherige Praxis der „Opt-Out-Lösung“ den Anforderungen des Art. 6 Abs. 1 lit. f DGVO gerecht wird, kann derzeit nicht mit Sicherheit gesagt werden. Klarheit könnte diesbezüglich die geplante E-Privacy-Verordnung bringen. Bis dahin besteht die rechtssicherste Lösung allerdings darin, eine vorherige Einwilligung des Nutzers einzuholen („Opt-In-Lösung“). &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Falls also vor dem Setzen und Abrufen der technisch nicht notwendigen Cookies eine Einwilligung des Nutzers eingeholt wird:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Beim Aufruf unserer Website wird der Nutzer über die Verwendung von Cookies zu Analysezwecken informiert und seine Einwilligung zur Verarbeitung der in diesem Zusammenhang verwendeten personenbezogenen Daten eingeholt. In diesem Zusammenhang erfolgt auch ein Hinweis auf diese Datenschutzerklärung. &lt;br /&gt;
b) Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls nur eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt &amp;#039;&amp;#039;&amp;#039;oder&amp;#039;&amp;#039;&amp;#039; eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies und technisch nicht notwendiger Cookies ohne vorherige Einholung einer Einwilligung des Nutzers&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger und nicht notwendiger Cookies mit vorheriger Einholung einer Einwilligung&amp;#039;&amp;#039;&amp;#039; des Nutzers erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung technisch notweniger Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies zu Analysezwecken ist bei Vorliegen einer diesbezüglichen Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
c) Zweck der Datenverarbeitung&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Zweck der Verwendung technisch notwendiger Cookies ist, die Nutzung von Websites für die Nutzer zu vereinfachen. Einige Funktionen unserer Internetseite können ohne den Einsatz von Cookies nicht angeboten werden. Für diese ist es erforderlich, dass der Browser auch nach einem Seitenwechsel wiedererkannt wird.&lt;br /&gt;
Für folgende Anwendungen benötigen wir Cookies:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der Anwendungen. Beispiele können sein:&lt;br /&gt;
* (1) Warenkorb&lt;br /&gt;
* (2) Übernahme von Spracheinstellungen&lt;br /&gt;
* (3) Merken von Suchbegriffen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die durch technisch notwendige Cookies erhobenen Nutzerdaten werden nicht zur Erstellung von Nutzerprofilen verwendet.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Falls kein Tracking und keine Drittanbieter Cookies &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Todo...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Falls zudem eine Verwendung technisch nicht notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Verwendung der Analyse-Cookies erfolgt zu dem Zweck, die Qualität unserer Website und ihre Inhalte zu verbessern. Durch die Analyse-Cookies erfahren wir, wie die Website genutzt wird und können so unser Angebot stetig optimieren.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Der genaue Einsatzzweck der Analysecookies sollte an dieser Stelle genauer beschrieben werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
In diesen Zwecken liegt auch unser berechtigtes Interesse in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 lit. f DSGVO. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
e) Dauer der Speicherung, Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Cookies werden auf dem Rechner des Nutzers gespeichert und von diesem an unserer Seite übermittelt. Daher haben Sie als Nutzer auch die volle Kontrolle über die Verwendung von Cookies. Durch eine Änderung der Einstellungen in Ihrem Internetbrowser können Sie die Übertragung von Cookies deaktivieren oder einschränken. Bereits gespeicherte Cookies können jederzeit gelöscht werden. Dies kann auch automatisiert erfolgen. Werden Cookies für unsere Website deaktiviert, können möglicherweise nicht mehr alle Funktionen der Website vollumfänglich genutzt werden.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Beispiel Cookies Switch (DEKRA) ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Datenschutz-Einstellungen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Um unseren Internetauftritt für Sie benutzerfreundlich zu gestalten und optimal auf Ihre Bedürfnisse abzustimmen, setzen wir in einigen Bereichen Cookies ein. Bestimmen Sie selbst, welche Cookies Sie zulassen bzw. ablehnen. Sie können Ihre Entscheidung jederzeit wieder ändern.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Technisch notwendige Cookies&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Diese Cookies sind von grundlegender Bedeutung für die Funktion unserer Website.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Targeting/Third Party Cookies&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Diese Cookies werden von Drittanbietern (YouTube, Vimeo) gesetzt, um das Abspielen der Videos zu ermöglichen.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Performance/Statistik Cookies&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Diese Cookies sammeln Informationen darüber, wie Sie unsere Website verwenden. Sie speichern keine Informationen, die eine persönliche Identifikation des Besuchers erlauben. Die mit Hilfe dieser Cookies gesammelten Informationen sind aggregiert und somit anonym.&lt;br /&gt;
&lt;br /&gt;
==== Wordpress Cookies====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Verwendetet Cookies im Detail:&lt;br /&gt;
Technisch notwendige Cookies:&lt;br /&gt;
wordpress_logged_in_[hash]&lt;br /&gt;
Wird gesetzt wenn sich ein Benutzer anmeldet. Management des An- und Abmeldeprozess&lt;br /&gt;
wp-settings-{time}-[UID]&lt;br /&gt;
Managment der Kommentarfunktion. Verhindert im wesentlichen, dass der Kommentator Eingaben doppelt machen muss.&lt;br /&gt;
comment_author_{HASH}&lt;br /&gt;
comment_author_email_{HASH}&lt;br /&gt;
comment_author_url_{HASH}&lt;br /&gt;
Wird gesetzt, wenn Benutzer die Kommentarfunktion nutzen. Dient dazu dem Kommentatoren doppelte Eingaben zu ersparen.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
WordPress Cookies&lt;br /&gt;
&lt;br /&gt;
After login, wordpress sets the wordpress_logged_in_[hash] cookie, which indicates when you’re logged in, and who you are, for most interface use.&lt;br /&gt;
&lt;br /&gt;
WordPress also sets a few wp-settings-{time}-[UID] cookies. The number on the end is your individual user ID from the users database table. This is used to customise your view of admin interface, and possibly also the main site interface.&lt;br /&gt;
&lt;br /&gt;
When visitors comment on your blog, they too get cookies stored on their computer. This is purely a convenience, so that the visitor won’t need to re-type all their information again when they want to leave another comment. Altogether three are set for commenters:&lt;br /&gt;
&lt;br /&gt;
comment_author_{HASH}&lt;br /&gt;
comment_author_email_{HASH}&lt;br /&gt;
comment_author_url_{HASH}&lt;br /&gt;
&lt;br /&gt;
===== ProcessWire =====&lt;br /&gt;
&lt;br /&gt;
wire - Sitzungscookie&lt;br /&gt;
&lt;br /&gt;
* Verbesserung der Sicherheit der Website&lt;br /&gt;
* Verbesserung der Bedienbarkeit der Website&lt;br /&gt;
&lt;br /&gt;
wires - Sitzungscookie&lt;br /&gt;
* wie wire, wird aber bei sicherer Verbindung eingesetzt&lt;br /&gt;
&lt;br /&gt;
wire_challenge - Persistenter Cookie&lt;br /&gt;
* Management des Login für User mit Benutzeraccount und Benutzereinstellungen&lt;br /&gt;
&lt;br /&gt;
WireTabs - Sitzungscookie&lt;br /&gt;
* Speichert Informationen zum aktuellen Bearbeitungsstatus eines angemeldeten Benutzers, während der Bearbeitung der Homepage.&lt;br /&gt;
&lt;br /&gt;
The only other cookie set by this website is called &amp;#039;wire’ and is required by ProcessWire (the underlying CMS) for the system to operate properly. If you wish to delete individual cookies from your computer but are unsure how to do it, have a look at www.allaboutcookies.org.&lt;br /&gt;
&lt;br /&gt;
==== Cookie Infos ====&lt;br /&gt;
https://rickert.net/blog/cookies-aktuelle-rechtslage/&lt;br /&gt;
&lt;br /&gt;
https://policies.google.com/technologies/cookies?hl=de&lt;br /&gt;
&lt;br /&gt;
Todo auf eigener Homepage&lt;br /&gt;
&lt;br /&gt;
===== Piwick =====&lt;br /&gt;
There are two cookies on this website that collect information from visitors to help me improve this website. They enable me to trace errors on this website and inform him about how this website is used. This information is anonymous and cannot be used to identify you personally. These cookies are set by the analytics software ‘Piwik’ and start with ‘_pk_id’ and ‘_pk_ses’. Piwik is self-hosted software. This means that all data collected stays with me. No analytics information is remitted to third parties (this is different from websites using certain other tools such as Google Analytics).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== TYPO3 =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Name: fe_typo_user&lt;br /&gt;
Art: session cookie&lt;br /&gt;
Nutzung: Login Managment für Frontend User, identifiziert den Nutzer, Verbesserung der Seitenbenutzung, Sicherheit&lt;br /&gt;
&lt;br /&gt;
Name: be_typo3_user&lt;br /&gt;
Art: session cookie&lt;br /&gt;
Nutzung: Login Managment für Backend User, identifiziert den Nutzer, Verbesserung der Seitenbenutzung, Sicherheit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
FE User Cookie Kann man per default ausschalten&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;quot;FE&amp;quot;][&amp;quot;dontSetCookie&amp;quot;] = 1;&lt;br /&gt;
&lt;br /&gt;
=== Newsletter ===&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
29. Newsletter&lt;br /&gt;
&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Auf unserer Internetseite besteht die Möglichkeit einen kostenfreien Newsletter zu abonnieren. Dabei werden bei der Anmeldung zum Newsletter die Daten aus der Eingabemaske an uns übermittelt.&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sollte eine konkrete Nennung der erhobenen Daten erfolgen. Im Minimalfall betrifft dies die E-Mail-Adresse des Nutzers. &lt;br /&gt;
&lt;br /&gt;
Zudem werden folgende Daten bei der Anmeldung erhoben:&lt;br /&gt;
&lt;br /&gt;
Es müssen die tatsächlich erhobenen weiteren Daten angegeben werden. Dies können beispielsweise sein:&lt;br /&gt;
(1) IP-Adresse des aufrufenden Rechners&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Anmeldevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund des Verkaufs von Waren oder Dienstleistungen:&lt;br /&gt;
&lt;br /&gt;
Wenn Sie auf unserer Internetseite Waren oder Dienstleistungen erwerben und hierbei Ihre E-Mail-Adresse hinterlegen, kann diese in der Folge durch uns für den Versand eines Newsletters verwendet werden. In einem solchen Fall wird über den Newsletter ausschließlich Direktwerbung für eigene ähnliche Waren oder Dienstleistungen versendet.&lt;br /&gt;
&lt;br /&gt;
Es erfolgt im Zusammenhang mit der Datenverarbeitung für den Versand von Newslettern keine Weitergabe der Daten an Dritte. Die Daten werden ausschließlich für den Versand des Newsletters verwendet.&lt;br /&gt;
&lt;br /&gt;
30. Rechtsgrundlage für die Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten nach Anmeldung zum Newsletters durch den Nutzer ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund des Verkaufs von Waren oder Dienstleistungen:&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für den Versand des Newsletters infolge des Verkaufs von Waren oder Dienstleistungen ist § 7 Abs. 3 UWG.&lt;br /&gt;
&lt;br /&gt;
31. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Erhebung der E-Mail-Adresse des Nutzers dient dazu, den Newsletter zuzustellen. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Die Erhebung sonstiger personenbezogener Daten im Rahmen des Anmeldevorgangs dient dazu, einen Missbrauch der Dienste oder der verwendeten E-Mail-Adresse zu verhindern.&lt;br /&gt;
&lt;br /&gt;
32. Dauer der Speicherung&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Die E-Mail-Adresse des Nutzers wird demnach solange gespeichert, wie das Abonnement des Newsletters aktiv ist. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Die sonstigen im Rahmen des Anmeldevorgangs erhobenen personenbezogenen Daten werden in der Regel nach einer Frist von sieben Tagen gelöscht.&lt;br /&gt;
&lt;br /&gt;
33. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Das Abonnement des Newsletters kann durch den betroffenen Nutzer jederzeit gekündigt werden. Zu diesem Zweck findet sich in jedem Newsletter ein entsprechender Link. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Hierdurch wird ebenfalls ein Widerruf der Einwilligung der Speicherung der während des Anmeldevorgangs erhobenen personenbezogenen Daten ermöglicht.&lt;br /&gt;
&lt;br /&gt;
34. Registrierung&lt;br /&gt;
&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Auf unserer Internetseite bieten wir Nutzern die Möglichkeit, sich unter Angabe personenbezogener Daten zu registrieren. Die Daten werden dabei in eine Eingabemaske eingegeben und an uns übermittelt und gespeichert. Eine Weitergabe der Daten an Dritte findet nicht statt. Folgende Daten werden im Rahmen des Registrierungsprozesses erhoben:&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sollten die entsprechenden Daten aufgelistet werden.&lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Registrierung werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sind die Daten entsprechend aufzulisten. Beispiele können sein:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Im Rahmen des Registrierungsprozesses wird eine Einwilligung des Nutzers zur Verarbeitung dieser Daten eingeholt.&lt;br /&gt;
35. Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Wenn die Registrierung der Erfüllung eines Vertrages, dessen Vertragspartei die betroffene Person ist, oder der Durchführung vorvertraglicher Maßnahmen dient.&lt;br /&gt;
&lt;br /&gt;
Dient die Registrierung der Erfüllung eines Vertrages, dessen Vertragspartei der Nutzer ist oder der Durchführung vorvertraglicher Maßnahmen, so ist zusätzliche Rechtsgrundlage für die Verarbeitung der Daten Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
36. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient nicht zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Eine Registrierung des Nutzers ist für das Bereithalten bestimmter Inhalte und Leistungen auf unserer Website erforderlich.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung der Inhalte und Leistungen. Warum ist im Einzelfall eine Identifikation des Nutzers für die Bereithaltung erforderlich?&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Eine Registrierung des Nutzers ist zur Erfüllung eines Vertrages mit dem Nutzer oder zur Durchführung vorvertraglicher Maßnahmen erforderlich.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung des auf der Internetseite angebotenen Vertrages. Warum sind für diese Verträge die erhobenen Daten erforderlich?&lt;br /&gt;
&lt;br /&gt;
Sollte für die von Ihnen angebotenen Verträge eine Verarbeitung der personenbezogenen Daten des Vertragspartners bei Vertragsschluss gesetzlich vorgeschrieben sein, so sind die jeweiligen Normen, aus denen sich die Verpflichtung ergibt, zu nennen.&lt;br /&gt;
37. Dauer der Speicherung&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind.&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient nicht zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Dies ist für die während des Registrierungsvorgangs erhobenen Daten der Fall, wenn die Registrierung auf unserer Internetseite aufgehoben oder abgeändert wird. &lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Dies ist für die während des Registrierungsvorgangs zur Erfüllung eines Vertrags oder zur Durchführung vorvertraglicher Maßnahmen dann der Fall, wenn die Daten für die Durchführung des Vertrages nicht mehr erforderlich sind. Auch nach Abschluss des Vertrags kann eine Erforderlichkeit, personenbezogene Daten des Vertragspartners zu speichern, bestehen, um vertraglichen oder gesetzlichen Verpflichtungen nachzukommen.&lt;br /&gt;
&lt;br /&gt;
Dauerschuldverhältnisse erfordern die Speicherung der personenbezogenen Daten während der Vertragslaufzeit. Zudem müssen Gewährleistungsfristen beachtet werden und die Speicherung von Daten für steuerliche Zwecke. Welche Speicherfristen hierbei einzuhalten sind, lässt sich nicht pauschal festlegen, sondern muss für die jeweils geschlossenen Verträge und Vertragsparteien im Einzelfall ermittelt werden.&lt;br /&gt;
38. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
Als Nutzer haben sie jederzeit die Möglichkeit, die Registrierung aufzulösen. Die über Sie gespeicherten Daten können Sie jederzeit abändern lassen. &lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung, wie eine Löschung des Accounts und eine Änderung von Daten möglich sind.&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Sind die Daten zur Erfüllung eines Vertrages oder zur Durchführung vorvertraglicher Maßnahmen erforderlich, ist eine vorzeitige Löschung der Daten nur möglich, soweit nicht vertragliche oder gesetzliche Verpflichtungen einer Löschung entgegenstehen. &lt;br /&gt;
39. Kontaktformular und E-Mail-Kontakt&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Auf unserer Internetseite ist ein Kontaktformular vorhanden, welches für die elektronische Kontaktaufnahme genutzt werden kann. Nimmt ein Nutzer diese Möglichkeit wahr, so werden die in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. Diese Daten sind:&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Auflistung der Daten der Eingabemaske&lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Auflistung der entsprechenden Daten. Beispiele können sein:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich. In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. &lt;br /&gt;
&lt;br /&gt;
Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte. Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet.&lt;br /&gt;
&lt;br /&gt;
40. Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO. Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
41. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten.&lt;br /&gt;
Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
42. Dauer der Speicherung&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist. Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist. &lt;br /&gt;
&lt;br /&gt;
Die während des Absendevorgangs zusätzlich erhobenen personenbezogenen Daten werden spätestens nach einer Frist von sieben Tagen gelöscht.&lt;br /&gt;
&lt;br /&gt;
43. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Der Nutzer hat jederzeit die Möglichkeit, seine Einwilligung zur Verarbeitung der personenbezogenen Daten zu widerrufen. Nimmt der Nutzer per E-Mail Kontakt mit uns auf, so kann er der Speicherung seiner personenbezogenen Daten jederzeit widersprechen. In einem solchen Fall kann die Konversation nicht fortgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Beschreibung, auf welche Weise der Widerruf der Einwilligung und der Widerspruch der Speicherung ermöglicht wird.&lt;br /&gt;
&lt;br /&gt;
Alle personenbezogenen Daten, die im Zuge der Kontaktaufnahme gespeichert wurden, werden in diesem Fall gelöscht.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kontaktformular ===&lt;br /&gt;
Direkt am Formular&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Mit meiner Kontaktaufnahme willige ich ein, dass meine Daten gespeichert und zur Bearbeitung meiner Anfrage/Kontaktaufnahme sowie für die Zusendung von Informationsmaterial genutzt werden. Eine Weiterleitung an Dritte ist ausgeschlossen. Diese Einwilligung kann jederzeit widerrufen werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Checkbox&amp;gt; Ich stimme zu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In der Datenschutzerklärung&lt;br /&gt;
&lt;br /&gt;
Quelle Uni Münster (stark angepasst)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KONTAKTFORMULAR UND E-MAIL KONTAKT&lt;br /&gt;
&lt;br /&gt;
Auf unserer Website können Sie Kontaktformulare zur elektronische Kontaktaufnahme nutzen. Nehmen Sie diese Möglichkeit wahr, so werden die von Ihnen in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. &lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich. In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. &lt;br /&gt;
Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet. Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte. &lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO. Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten.&lt;br /&gt;
Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist. Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Google Analytics ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzerklärung für die Nutzung von Google Analytics&lt;br /&gt;
&lt;br /&gt;
Diese Website nutzt Funktionen des  Webanalysedienstes Google Analytics. Anbieter ist die Google Inc. 1600 Amphitheatre Parkway Mountain View, CA 94043, USA. Google Analytics verwendet sog. „Cookies“. Das sind Textdateien, die auf Ihrem Computer gespeichert werden und die eine Analyse der Benutzung der Website durch Sie ermöglichen. Die durch den Cookie erzeugten Informationen über Ihre Benutzung dieser Website werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert.&lt;br /&gt;
&lt;br /&gt;
Im Falle der Aktivierung der IP-Anonymisierung auf dieser Webseite wird Ihre IP-Adresse von Google jedoch innerhalb von Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des Abkommens über den Europäischen Wirtschaftsraum zuvor gekürzt. Nur in Ausnahmefällen wird die volle IP-Adresse an einen Server von Google in den USA übertragen und dort gekürzt. Im Auftrag des Betreibers dieser Website wird Google diese Informationen benutzen, um Ihre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten zusammenzustellen und um weitere mit der Websitenutzung und der Internetnutzung verbundene Dienstleistungen gegenüber dem Websitebetreiber zu erbringen. Die im Rahmen von Google Analytics von Ihrem Browser übermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt.&lt;br /&gt;
&lt;br /&gt;
Sie können die Speicherung der Cookies durch eine entsprechende Einstellung Ihrer Browser-Software verhindern; wir weisen Sie jedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser Website vollumfänglich werden nutzen können. Sie können darüber hinaus die Erfassung der durch das Cookie erzeugten und auf Ihre Nutzung der Website bezogenen Daten (inkl. Ihrer IP-Adresse) an Google sowie die Verarbeitung dieser Daten durch Google verhindern, indem sie das unter dem folgenden Link verfügbare Browser-Plugin herunterladen und installieren: http://tools.google.com/dlpage/gaoptout?hl=de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Google Fonts ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Google Fonts&lt;br /&gt;
&lt;br /&gt;
Zur Darstellung der Schrift auf dieser Website setzten wir externe Schriftarten von Google Fonts ein.&lt;br /&gt;
Dieser Dienst wird von der Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043 USA, nachfolgend „Google“ angeboten.&lt;br /&gt;
Google ist nach dem „EU-US Privacy Shield“ zertifiziert und garantiert dadurch die Einhaltung der Datenschutzvorgaben der EU bei der Verarbeitung der Daten in den USA.&lt;br /&gt;
 &lt;br /&gt;
https://www.privacyshield.gov/participant?id=a2zt000000001L5AAI&amp;amp;status=Active&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf dieser Website wird eine Verbindung zu  Google-Server in den USA aufgebaut, um die Schrift zu laden oder diese zu aktualisieren.&lt;br /&gt;
&lt;br /&gt;
Durch diese Verbindung kann Google erkennen, von welcher Website eine Anfrage gestellt wird und an welche IP-Adresse die Schrift übermittelt wird.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO. Das berechtigte Interesse des Anbieters besteht an der Optimierung und dem wirtschaftlichen Betrieb der Website.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen, insbesondere zu den Möglichkeiten der Unterbindung der Datennutzung, bietet Google unter den nachfolgenden Links an:&lt;br /&gt;
&lt;br /&gt;
https://policies.google.com/privacy&lt;br /&gt;
https://adssettings.google.com/authenticated.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Social Media Plattformen ==&lt;br /&gt;
=== Beispiel aus Heise ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
7. Onlineangebote auf Social-Media-Plattformen&lt;br /&gt;
&lt;br /&gt;
Wir bieten auf unterschiedlichen Social-Media-Plattformen Onlineangebote an, um dort Informationen bereitzuhalten und um mit Ihnen in Kontakt treten zu können.&lt;br /&gt;
Auf die Verarbeitung personenbezogener Daten durch den jeweiligen Plattformbetreiber haben wir keinen Einfluss. In der Regel werden beim Besuch unserer Social-Media-Angebote vom Plattformbetreiber Cookies in Ihrem Browser gespeichert, in denen zu Marktforschungs- und Werbezwecken Ihr Nutzungsverhalten bzw. Ihre Interessen gespeichert werden. Die so - meist geräteübergreifend - gewonnenen Nutzungsprofile verwenden die Plattformbetreiber, um Ihnen personalisierte Werbung anzuzeigen. Von der Datenverarbeitung können auch Personen betroffen sein, die bei der jeweiligen Social-Media-Plattform nicht als Nutzer registriert sind. Unter Umständen werden Ihre Daten außerhalb des Raumes der Europäischen Union verarbeitet, was die Durchsetzung Ihrer Rechte erschweren kann. Wir achten bei der Auswahl solcher Social-Media-Plattformen jedoch darauf, dass die Bertreiber sich dazu verpflichten, die Datenschutzstandards der EU einzuhalten.&lt;br /&gt;
Die Verarbeitung Ihrer personenbezogenen Daten beim Besuch einer unserer Social-Media-Angebote erfolgt auf Grundlage unserer berechtigten Interessen an einer vielfältigen Außendarstellung unseres Unternehmens und der Nutzung einer effektiven Informationsmöglichkeit sowie der Kommunikation mit Ihnen. Die Rechtsgrundlage hierfür ist Art. 6 Abs. 1 lit. f DSGVO. Unter Umständen haben Sie einem Plattformbetreiber auch eine Einwilligung in die Datenverarbeitung erteilt, in diesem Fall ist Art. 6 Abs. 1 lit. a DSGVO dir Rechtsgrundlage.&lt;br /&gt;
Detaillierte Informationen über die Datenverarbeitung im Zusammenhang mit der Nutzung unserer Social-Media-Angebote, Widerspruchsmöglichkeiten (Opt-Out) und die Geltendmachung von Auskunftsrechten erhalten sie über die Datenschutzerklärung des entsprechenden Plattformbetreibers.&lt;br /&gt;
&lt;br /&gt;
7.1 Facebook&lt;br /&gt;
&lt;br /&gt;
Anbieter: Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2, Irland&lt;br /&gt;
Die Datenverarbeitung erfolgt auf Grundlage einer Vereinbarung über die gemeinsame Verarbeitung personenbezogener Daten nach Art. 26 DSGVO.&lt;br /&gt;
Datenschutzerklärung: https://www.facebook.com/about/privacy/&lt;br /&gt;
Opt-Out: https://www.facebook.com/settings?tab=ads&lt;br /&gt;
&lt;br /&gt;
7.2 Google+/ YouTube&lt;br /&gt;
&lt;br /&gt;
Anbieter: Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland&lt;br /&gt;
Datenschutzerklärung: https://policies.google.com/privacy&lt;br /&gt;
Opt-Out: https://adssettings.google.com/authenticated&lt;br /&gt;
&lt;br /&gt;
7.3 Instagram&lt;br /&gt;
&lt;br /&gt;
Anbieter: Instagram Inc., 1601 Willow Road, Menlo Park, CA, 94025, USA&lt;br /&gt;
Datenschutzerklärung: http://instagram.com/about/legal/privacy&lt;br /&gt;
Opt-Out: http://instagram.com/about/legal/privacy&lt;br /&gt;
&lt;br /&gt;
7.4 Twitter&lt;br /&gt;
&lt;br /&gt;
Anbieter: Twitter Inc., 1355 Market Street, Suite 900, San Francisco, CA 94103, USA&lt;br /&gt;
Datenschutzerklärung: https://twitter.com/de/privacy&lt;br /&gt;
Opt-Out: https://twitter.com/personalization&lt;br /&gt;
&lt;br /&gt;
7.5 LinkedIn&lt;br /&gt;
&lt;br /&gt;
Anbieter: LinkedIn Ireland Unlimited Company Wilton Place, Dublin 2, Irland&lt;br /&gt;
Datenschutzerklärung: https://www.linkedin.com/legal/privacy-policy&lt;br /&gt;
Opt-Out: https://www.linkedin.com/psettings/guest-controls/retargeting-opt-out&lt;br /&gt;
&lt;br /&gt;
7.6 Xing&lt;br /&gt;
&lt;br /&gt;
Anbieter: XING AG, Dammtorstraße 29-32, 20354 Hamburg, Deutschland)&lt;br /&gt;
Datenschutzerklärung: https://privacy.xing.com/de/datenschutzerklaerung&lt;br /&gt;
Opt-Out: https://privacy.xing.com/de/datenschutzerklaerung &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== youTube ===&lt;br /&gt;
Am Besten 2-Klick Lösung verwenden.&lt;br /&gt;
&lt;br /&gt;
Siehe Social Media Plattformen&lt;br /&gt;
&lt;br /&gt;
=== Google Maps ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GOOGLE MAPS&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet die GoogleMaps API. Ein Produkt der Google Inc., zur Anzeige von interaktiven Landkarten. Bei der Nutzung von Google Maps werden von Google auch Daten über die Nutzung der Maps-Funktionen des Besuchers erhoben, verarbeitet und genutzt. Nähere Informationen über die Datenverarbeitung durch Google finden Sie in den Datenschutzhinweisen von Google (http://www.google.com/intl/de_de/help/terms_maps.html). Google stellt dort darüber hinaus Möglichkeiten zur Datenschutzeinstellung zur Verfügung, mit denen Sie Ihre Daten verwalten und schützen können.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenStreetMaps ===&lt;br /&gt;
==== Eigener Text - Processwire manuelle Einbindung ====&lt;br /&gt;
OpenStreetMaps&lt;br /&gt;
&lt;br /&gt;
Diese Website nutzt freie Kartendaten der OpenStreetMap Foundation, St John’s Innovation Centre, Cowley Road, Cambridge, CB4 0WS, United Kingdom (kurz OSMF).&lt;br /&gt;
Zum Abrufen der OSMF Kartenbilder überträgt der Browser Ihre IP Adresse an einen Server der OSMF. Der Standort des ausgewählten OSMF Servers hängt von der Verfügbarkeit und Ihrem eigenen Standort ab. Der Betreiber dieser Website hat keine Kontrolle über diese Verbindungen und die Verarbeitung Ihrer Daten durch die OSMF. Die Nutzung von OSMF erfolgt im Interesse einer ansprechenden Darstellung und besserer Funktionalität sowie einer leichteren Auffindbarkeit der dargestellten Orte. Dies stellt ein berechtigtes Interesse im Sinne von Art. 6 Abs. 1 lit. f DSGVO dar. Die OSMF verarbeitet Ihre Daten nach eigener Auskunft im Sinne der DSGVO. Mehr Informationen zum Umgang mit Nutzerdaten finden Sie in der Datenschutzerklärung der OSMF: https://wiki.osmfoundation.org/wiki/Privacy_Policy&lt;br /&gt;
&lt;br /&gt;
==== Beispiele ====&lt;br /&gt;
https://www.studierendenwerk-kaiserslautern.de/kaiserslautern/info/datenschutzerklaerung/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenStreetMap&lt;br /&gt;
&lt;br /&gt;
Diese Seite nutzt über eine API das Open-Source-Mapping-Werkzeug „OpenStreetMap“ (OSM). Anbieter ist die OpenStreetMap Foundation. Zur Nutzung der Funktionen von OpenStreetMap ist es notwendig, Ihre IP Adresse zu speichern. Diese Informationen werden in der Regel an einen Server von OpenStreetMap übertragen und dort gespeichert. Der Anbieter dieser Seite hat keinen Einfluss auf diese Datenübertragung. Die Nutzung von OpenStreetMap erfolgt im Interesse einer ansprechenden Darstellung unserer Online-Angebote und an einer leichten Auffindbarkeit der von uns auf der Website angegebenen Orte. Dies stellt ein berechtigtes Interesse im Sinne von Art. 6 Abs. 1 lit. f DSGVO dar. Mehr Informationen zum Umgang mit Nutzerdaten finden Sie in der Datenschutzseite von OpenStreetMap und hier http://wiki.openstreetmap.org/wiki/Legal_FAQ.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ADFC&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenStreetMap&lt;br /&gt;
&lt;br /&gt;
Zur Darstellung von Geo-Daten verwenden wir das Open-Source-Mapping-Werkzeug „OpenStreetMap“ (OSM). OpenStreetMap ist ein Service der Openstreetmap Foundation, 132 Maney Hill Road, Sutton Coldfield, West Midlands, B72 1JU, United Kingdom. Damit Ihnen die Karte angezeigt werden kann, wird Ihre IP-Adresse an OpenStreetMap weitergeleitet. Wie OpenStreetMap Ihre Daten speichert, können Sie auf der Datenschutzseite von OpenStreetMap und hier http://wiki.openstreetmap.org/wiki/Legal_FAQ erfahren.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenStreetMap&lt;br /&gt;
&lt;br /&gt;
Wir binden die Landkarten des Dienstes &amp;quot;OpenStreetMap&amp;quot; ein (https://www.openstreetmap.org), die auf Grundlage der Open Data Commons Open Database Lizenz (ODbL) durch die OpenStreetMap Foundation (OSMF) angeboten werden. Datenschutzerklärung: https://wiki.openstreetmap.org/wiki/Privacy_Policy).&lt;br /&gt;
&lt;br /&gt;
Nach unserer Kenntnis werden die Daten der Nutzer durch OpenStreetMap ausschließlich zu Zwecken der Darstellung der Kartenfunktionen und Zwischenspeicherung der gewählten Einstellungen verwendet. Zu diesen Daten können insbesondere IP-Adressen und Standortdaten der Nutzer gehören, die jedoch nicht ohne deren Einwilligung (im Regelfall im Rahmen der Einstellungen ihrer Mobilgeräte vollzogen), erhoben werden. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fonts ===&lt;br /&gt;
==== Links ====&lt;br /&gt;
https://www.mittwald.de/blog/mittwald/howtos/dem-datenschutz-zuliebe-wie-ihr-google-fonts-lokal-in-eure-webseiten-einbindet&lt;br /&gt;
&lt;br /&gt;
==== Beispiel 1 - Allgemein ====&lt;br /&gt;
&lt;br /&gt;
Verwendung von Scriptbibliotheken (Google Webfonts)&lt;br /&gt;
&lt;br /&gt;
Um unsere Inhalte browserübergreifend korrekt und graﬁsch ansprechend darzustellen, verwenden wir auf dieser Website Scriptbibliotheken und Schriftbibliotheken wie z. B. Google Webfonts (https://www.google.com/webfonts). Google Webfonts werden zur Vermeidung mehrfachen Ladens in den Cache Ihres Browsers übertragen. Falls der Browser die Google Webfonts nicht unterstützt oder den Zugriﬀ unterbindet, werden Inhalte in einer Standardschrift angezeigt.&lt;br /&gt;
Der Aufruf von Scriptbibliotheken oder Schriftbibliotheken löst automatisch eine Verbindung zum Betreiber der Bibliothek aus. Dabei ist es theoretisch möglich – aktuell allerdings auch unklar ob und ggf. zu welchen Zwecken – dass Betreiber entsprechender Bibliotheken Daten erheben.&lt;br /&gt;
&lt;br /&gt;
Die Datenschutzrichtlinie des Bibliothekbetreibers Google ﬁnden Sie hier:&lt;br /&gt;
https://policies.google.com/privacy?hl=de&lt;br /&gt;
&lt;br /&gt;
==== Beispiel 2 ====&lt;br /&gt;
Google Fonts&lt;br /&gt;
&lt;br /&gt;
Zur Darstellung der Schrift auf dieser Website setzten wir externe Schriftarten von Google Fonts ein.&lt;br /&gt;
Dieser Dienst wird von der Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043 USA, nachfolgend „Google“ angeboten.&lt;br /&gt;
Google ist nach dem „EU-US Privacy Shield“ zertifiziert und garantiert dadurch die Einhaltung der Datenschutzvorgaben der EU bei der Verarbeitung der Daten in den USA.&lt;br /&gt;
 &lt;br /&gt;
https://www.privacyshield.gov/participant?id=a2zt000000001L5AAI&amp;amp;status=Active&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf dieser Website wird eine Verbindung zu  Google-Server in den USA aufgebaut, um die Schrift zu laden oder diese zu aktualisieren.&lt;br /&gt;
&lt;br /&gt;
Durch diese Verbindung kann Google erkennen, von welcher Website eine Anfrage gestellt wird und an welche IP-Adresse die Schrift übermittelt wird.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO. Das berechtigte Interesse des Anbieters besteht an der Optimierung und dem wirtschaftlichen Betrieb der Website.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen, insbesondere zu den Möglichkeiten der Unterbindung der Datennutzung, bietet Google unter den nachfolgenden Links an:&lt;br /&gt;
&lt;br /&gt;
https://policies.google.com/privacy&lt;br /&gt;
https://adssettings.google.com/authenticated.&lt;br /&gt;
&lt;br /&gt;
=== Ärzte ===&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Impressum&lt;br /&gt;
    Datenschutz&lt;br /&gt;
&lt;br /&gt;
PATIENTENINFORMATION ZUM DATENSCHUTZ&lt;br /&gt;
&lt;br /&gt;
Sehr geehrte Patientin, sehr geehrter Patient,&lt;br /&gt;
der Schutz Ihrer personenbezogenen Daten ist uns wichtig. Nach der EU-Datenschutz-Grundverordnung (DSGVO) sind wir verpflichtet, Sie darüber zu informieren, zu welchem Zweck unsere Praxis Daten erhebt, speichert oder weiterleitet. Der Information können Sie auch entnehmen, welche Rechte Sie in puncto Datenschutz haben.&lt;br /&gt;
1. VERANTWORTLICHKEIT FÜR DIE DATENVERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Verantwortlich für die Datenverarbeitung ist:&lt;br /&gt;
Praxisname&lt;br /&gt;
Verhaltenstherapeutische Praxis Dr. rer. nat. Dipl. Psych. Anja Schwarz&lt;br /&gt;
Adresse&lt;br /&gt;
Böllatstraße 4, 72622 Neckarhausen / Nürtingen&lt;br /&gt;
Kontaktdaten&lt;br /&gt;
Tel: 07022 244352&lt;br /&gt;
Tax: 07022 244351&lt;br /&gt;
E-Mail: schwarz@schwarz-psychotherapie.de&lt;br /&gt;
Homepage: http//www.schwarz-psychotherapie.de&lt;br /&gt;
&lt;br /&gt;
2. ZWECK DER DATENVERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Die Datenverarbeitung erfolgt aufgrund gesetzlicher Vorgaben, um den Behandlungsvertrag zwischen Ihnen und Ihrem behandelnden Psychotgherapeuten und die damit verbundenen Pflichten zu erfüllen.&lt;br /&gt;
Hierzu verarbeiten wir Ihre personenbezogenen Daten, insbesondere Ihre Gesundheitsdaten. Dazu zählen Anamnesen, Diagnosen, Therapievorschläge und Befunde, die wir oder andere Ärzte erheben. Zu diesen Zwecken können uns auch andere Ärzte oder Psychotherapeuten, bei denen Sie in Behandlung sind, Daten zur Verfügung stellen (z.B. in Arztbriefen).&lt;br /&gt;
Die Erhebung von Gesundheitsdaten ist Voraussetzung für Ihre Behandlung. Werden die notwendigen Informationen nicht bereitgestellt, kann eine sorgfältige Behandlung nicht erfolgen.&lt;br /&gt;
&lt;br /&gt;
3. EMPFÄNGER IHRER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir übermitteln Ihre personenbezogenen Daten nur dann an Dritte, wenn dies gesetzlich erlaubt ist oder Sie eingewilligt haben.&lt;br /&gt;
Empfänger Ihrer personenbezogenen Daten können vor allem andere Ärzte / Psychotherapeuten, Kassenärztliche Vereinigungen, Krankenkassen, der Medizinische Dienst der Krankenversicherung, Ärztekammern und privatärztliche Verrechnungsstellen sein.&lt;br /&gt;
Die Übermittlung erfolgt überwiegend zum Zwecke der Abrechnung der bei Ihnen erbrachten Leistungen, zur Klärung von medizinischen und sich aus Ihrem Versicherungsverhältnis ergebenden Fragen. Im Einzelfall erfolgt die Übermittlung von Daten an weitere berechtigte Empfänger.&lt;br /&gt;
&lt;br /&gt;
4. SPEICHERUNG IHRER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir bewahren Ihre personenbezogenen Daten nur solange auf, wie dies für die Durchführung der Behandlung erforderlich ist.&lt;br /&gt;
Aufgrund rechtlicher Vorgaben sind wir dazu verpflichtet, diese Daten mindestens 10 Jahre nach Abschluss der Behandlung aufzubewahren. Nach anderen Vorschriften können sich längere Aufbewahrungsfristen ergeben, zum Beispiel 30 Jahre bei Röntgenaufzeichnungen laut Paragraf 28 Absatz 3 der Röntgenverordnung.&lt;br /&gt;
&lt;br /&gt;
== Rechte ==&lt;br /&gt;
Rechte der User&lt;br /&gt;
Quelle Datenschutz.org&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AUSKUNFT, BERICHTIGUNG UND LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
Die folgende Auflistung umfasst alle Rechte der Betroffenen nach der DS-GVO. Rechte, die für die eigene Webseite keine Relevanz haben, müssen nicht genannt werden. Insoweit kann die Auflistung gekürzt werden.&lt;br /&gt;
Werden personenbezogene Daten von Ihnen verarbeitet, sind Sie Betroffener i.S.d. DS-GVO und es stehen Ihnen folgende Rechte gegenüber dem Verantwortlichen zu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AUSKUNFTSRECHT&lt;br /&gt;
&lt;br /&gt;
Sie können von dem Verantwortlichen eine Bestätigung darüber verlangen, ob personenbezogene Daten, die Sie betreffen, von uns verarbeitet werden. &lt;br /&gt;
Liegt eine solche Verarbeitung vor, können Sie von dem Verantwortlichen über folgende Informationen Auskunft verlangen:&lt;br /&gt;
(1) die Zwecke, zu denen die personenbezogenen Daten verarbeitet werden;&lt;br /&gt;
(2) die Kategorien von personenbezogenen Daten, welche verarbeitet werden;&lt;br /&gt;
(3) die Empfänger bzw. die Kategorien von Empfängern, gegenüber denen die Sie betreffenden personenbezogenen Daten offengelegt wurden oder noch offengelegt werden;&lt;br /&gt;
(4) die geplante Dauer der Speicherung der Sie betreffenden personenbezogenen Daten oder, falls konkrete Angaben hierzu nicht möglich sind, Kriterien für die Festlegung der Speicherdauer;&lt;br /&gt;
(5) das Bestehen eines Rechts auf Berichtigung oder Löschung der Sie betreffenden personenbezogenen Daten, eines Rechts auf Einschränkung der Verarbeitung durch den Verantwortlichen oder eines Widerspruchsrechts gegen diese Verarbeitung; &lt;br /&gt;
(6) das Bestehen eines Beschwerderechts bei einer Aufsichtsbehörde;&lt;br /&gt;
(7) alle verfügbaren Informationen über die Herkunft der Daten, wenn die personenbezogenen Daten nicht bei der betroffenen Person erhoben werden;&lt;br /&gt;
(8) das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling gemäß Art. 22 Abs. 1 und 4 DSGVO und – zumindest in diesen Fällen – aussagekräftige Informationen über die involvierte Logik sowie die Tragweite und die angestrebten Auswirkungen einer derartigen Verarbeitung für die betroffene Person.&lt;br /&gt;
&lt;br /&gt;
Ihnen steht das Recht zu, Auskunft darüber zu verlangen, ob die Sie betreffenden personenbezogenen Daten in ein Drittland oder an eine internationale Organisation übermittelt werden. In diesem Zusammenhang können Sie verlangen, über die geeigneten Garantien gem. Art. 46 DSGVO im Zusammenhang mit der Übermittlung unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Bei einer Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Dieses Auskunftsrecht kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF BERICHTIGUNG&lt;br /&gt;
&lt;br /&gt;
Sie haben ein Recht auf Berichtigung und/oder Vervollständigung gegenüber dem Verantwortlichen, sofern die verarbeiteten personenbezogenen Daten, die Sie betreffen, unrichtig oder unvollständig sind. Der Verantwortliche hat die Berichtigung unverzüglich vorzunehmen.&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Ihr Recht auf Berichtigung kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RECHT AUF EINSCHRÄNKUNG DER VERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Unter den folgenden Voraussetzungen können Sie die Einschränkung der Verarbeitung der Sie betreffenden personenbezogenen Daten verlangen.&lt;br /&gt;
&lt;br /&gt;
(1) wenn Sie die Richtigkeit der Sie betreffenden personenbezogenen für eine Dauer bestreiten, die es dem Verantwortlichen ermöglicht, die Richtigkeit der personenbezogenen Daten zu überprüfen;&lt;br /&gt;
&lt;br /&gt;
(2) die Verarbeitung unrechtmäßig ist und Sie die Löschung der personenbezogenen Daten ablehnen und stattdessen die Einschränkung der Nutzung der personenbezogenen Daten verlangen;&lt;br /&gt;
&lt;br /&gt;
(3) der Verantwortliche die personenbezogenen Daten für die Zwecke der Verarbeitung nicht länger benötigt, Sie diese jedoch zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen benötigen, oder&lt;br /&gt;
&lt;br /&gt;
(4) wenn Sie Widerspruch gegen die Verarbeitung gemäß Art. 21 Abs. 1 DSGVO eingelegt haben und noch nicht feststeht, ob die berechtigten Gründe des Verantwortlichen gegenüber Ihren Gründen überwiegen.&lt;br /&gt;
&lt;br /&gt;
Wurde die Verarbeitung der Sie betreffenden personenbezogenen Daten eingeschränkt, dürfen diese Daten – von ihrer Speicherung abgesehen – nur mit Ihrer Einwilligung oder zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen oder zum Schutz der Rechte einer anderen natürlichen oder juristischen Person oder aus Gründen eines wichtigen öffentlichen Interesses der Union oder eines Mitgliedstaats verarbeitet werden.&lt;br /&gt;
Wurde die Einschränkung der Verarbeitung nach den o.g. Voraussetzungen eingeschränkt, werden Sie von dem Verantwortlichen unterrichtet bevor die Einschränkung aufgehoben wird.&lt;br /&gt;
&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
&lt;br /&gt;
Ihr Recht auf Einschränkung der Verarbeitung kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
a) Löschungspflicht&lt;br /&gt;
Sie können von dem Verantwortlichen verlangen, dass die Sie betreffenden personenbezogenen Daten unverzüglich gelöscht werden, und der Verantwortliche ist verpflichtet, diese Daten unverzüglich zu löschen, sofern einer der folgenden Gründe zutrifft:&lt;br /&gt;
&lt;br /&gt;
(1) Die Sie betreffenden personenbezogenen Daten sind für die Zwecke, für die sie erhoben oder auf sonstige Weise verarbeitet wurden, nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
(2) Sie widerrufen Ihre Einwilligung, auf die sich die Verarbeitung gem. Art. 6 Abs. 1 lit. a oder Art. 9 Abs. 2 lit. a DSGVO stützte, und es fehlt an einer anderweitigen Rechtsgrundlage für die Verarbeitung. &lt;br /&gt;
&lt;br /&gt;
(3) Sie legen gem. Art. 21 Abs. 1 DSGVO Widerspruch gegen die Verarbeitung ein und es liegen keine vorrangigen berechtigten Gründe für die Verarbeitung vor, oder Sie legen gem. Art. 21 Abs. 2 DSGVO Widerspruch gegen die Verarbeitung ein. &lt;br /&gt;
&lt;br /&gt;
(4) Die Sie betreffenden personenbezogenen Daten wurden unrechtmäßig verarbeitet. &lt;br /&gt;
&lt;br /&gt;
(5) Die Löschung der Sie betreffenden personenbezogenen Daten ist zur Erfüllung einer rechtlichen Verpflichtung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten erforderlich, dem der Verantwortliche unterliegt. &lt;br /&gt;
&lt;br /&gt;
(6) Die Sie betreffenden personenbezogenen Daten wurden in Bezug auf angebotene Dienste der Informationsgesellschaft gemäß Art. 8 Abs. 1 DSGVO erhoben.&lt;br /&gt;
&lt;br /&gt;
INFORMATION AN DRITTE&lt;br /&gt;
&lt;br /&gt;
Hat der Verantwortliche die Sie betreffenden personenbezogenen Daten öffentlich gemacht und ist er gem. Art. 17 Abs. 1 DSGVO zu deren Löschung verpflichtet, so trifft er unter Berücksichtigung der verfügbaren Technologie und der Implementierungskosten angemessene Maßnahmen, auch technischer Art, um für die Datenverarbeitung Verantwortliche, die die personenbezogenen Daten verarbeiten, darüber zu informieren, dass Sie als betroffene Person von ihnen die Löschung aller Links zu diesen personenbezogenen Daten oder von Kopien oder Replikationen dieser personenbezogenen Daten verlangt haben. &lt;br /&gt;
&lt;br /&gt;
AUSNAHMEN&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Löschung besteht nicht, soweit die Verarbeitung erforderlich ist&lt;br /&gt;
&lt;br /&gt;
(1) zur Ausübung des Rechts auf freie Meinungsäußerung und Information;&lt;br /&gt;
&lt;br /&gt;
(2) zur Erfüllung einer rechtlichen Verpflichtung, die die Verarbeitung nach dem Recht der Union oder der Mitgliedstaaten, dem der Verantwortliche unterliegt, erfordert, oder zur Wahrnehmung einer Aufgabe, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, die dem Verantwortlichen übertragen wurde;&lt;br /&gt;
&lt;br /&gt;
(3) aus Gründen des öffentlichen Interesses im Bereich der öffentlichen Gesundheit gemäß Art. 9 Abs. 2 lit. h und i sowie Art. 9 Abs. 3 DSGVO;&lt;br /&gt;
&lt;br /&gt;
(4) für im öffentlichen Interesse liegende Archivzwecke, wissenschaftliche oder historische Forschungszwecke oder für statistische Zwecke gem. Art. 89 Abs. 1 DSGVO, soweit das unter Abschnitt a) genannte Recht voraussichtlich die Verwirklichung der Ziele dieser Verarbeitung unmöglich macht oder ernsthaft beeinträchtigt, oder&lt;br /&gt;
&lt;br /&gt;
(5) zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&lt;br /&gt;
&lt;br /&gt;
Recht auf Unterrichtung&lt;br /&gt;
&lt;br /&gt;
Haben Sie das Recht auf Berichtigung, Löschung oder Einschränkung der Verarbeitung gegenüber dem Verantwortlichen geltend gemacht, ist dieser verpflichtet, allen Empfängern, denen die Sie betreffenden personenbezogenen Daten offengelegt wurden, diese Berichtigung oder Löschung der Daten oder Einschränkung der Verarbeitung mitzuteilen, es sei denn, dies erweist sich als unmöglich oder ist mit einem unverhältnismäßigen Aufwand verbunden.&lt;br /&gt;
Ihnen steht gegenüber dem Verantwortlichen das Recht zu, über diese Empfänger unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Recht auf Datenübertragbarkeit&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, die Sie betreffenden personenbezogenen Daten, die Sie dem Verantwortlichen bereitgestellt haben, in einem strukturierten, gängigen und maschinenlesbaren Format zu erhalten. Außerdem haben Sie das Recht diese Daten einem anderen Verantwortlichen ohne Behinderung durch den Verantwortlichen, dem die personenbezogenen Daten bereitgestellt wurden, zu übermitteln, sofern&lt;br /&gt;
&lt;br /&gt;
(1) die Verarbeitung auf einer Einwilligung gem. Art. 6 Abs. 1 lit. a DSGVO oder Art. 9 Abs. 2 lit. a DSGVO oder auf einem Vertrag gem. Art. 6 Abs. 1 lit. b DSGVO beruht und&lt;br /&gt;
&lt;br /&gt;
(2) die Verarbeitung mithilfe automatisierter Verfahren erfolgt.&lt;br /&gt;
&lt;br /&gt;
In Ausübung dieses Rechts haben Sie ferner das Recht, zu erwirken, dass die Sie betreffenden personenbezogenen Daten direkt von einem Verantwortlichen einem anderen Verantwortlichen übermittelt werden, soweit dies technisch machbar ist. Freiheiten und Rechte anderer Personen dürfen hierdurch nicht beeinträchtigt werden.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Datenübertragbarkeit gilt nicht für eine Verarbeitung personenbezogener Daten, die für die Wahrnehmung einer Aufgabe erforderlich ist, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, die dem Verantwortlichen übertragen wurde.&lt;br /&gt;
&lt;br /&gt;
WIDERSPRUCHSRECHT&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung der Sie betreffenden personenbezogenen Daten, die aufgrund von Art. 6 Abs. 1 lit. e oder f DSGVO erfolgt, Widerspruch einzulegen; dies gilt auch für ein auf diese Bestimmungen gestütztes Profiling. &lt;br /&gt;
Der Verantwortliche verarbeitet die Sie betreffenden personenbezogenen Daten nicht mehr, es sei denn, er kann zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die Ihre Interessen, Rechte und Freiheiten überwiegen, oder die Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&lt;br /&gt;
&lt;br /&gt;
Werden die Sie betreffenden personenbezogenen Daten verarbeitet, um Direktwerbung zu betreiben, haben Sie das Recht, jederzeit Widerspruch gegen die Verarbeitung der Sie betreffenden personenbezogenen Daten zum Zwecke derartiger Werbung einzulegen; dies gilt auch für das Profiling, soweit es mit solcher Direktwerbung in Verbindung steht.&lt;br /&gt;
Widersprechen Sie der Verarbeitung für Zwecke der Direktwerbung, so werden die Sie betreffenden personenbezogenen Daten nicht mehr für diese Zwecke verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Sie haben die Möglichkeit, im Zusammenhang mit der Nutzung von Diensten der Informationsgesellschaft – ungeachtet der Richtlinie 2002/58/EG – Ihr Widerspruchsrecht mittels automatisierter Verfahren auszuüben, bei denen technische Spezifikationen verwendet werden.&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Sie haben auch das Recht, aus Gründen, die sich aus Ihrer besonderen Situation ergeben, bei der Verarbeitung Sie betreffender personenbezogener Daten, die zu wissenschaftlichen oder historischen Forschungszwecken oder zu statistischen Zwecken gem. Art. 89 Abs. 1 DSGVO erfolgt, dieser zu widersprechen.&lt;br /&gt;
Ihr Widerspruchsrecht kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF WIDERRUF DER DATENSCHUTZRECHTLICHEN EINWILLIGUNGSERKLÄRUNG&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, Ihre datenschutzrechtliche Einwilligungserklärung jederzeit zu widerrufen. Durch den Widerruf der Einwilligung wird die Rechtmäßigkeit der aufgrund der Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt.&lt;br /&gt;
&lt;br /&gt;
Automatisierte Entscheidung im Einzelfall einschließlich Profiling&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, nicht einer ausschließlich auf einer automatisierten Verarbeitung – einschließlich Profiling – beruhenden Entscheidung unterworfen zu werden, die Ihnen gegenüber rechtliche Wirkung entfaltet oder Sie in ähnlicher Weise erheblich beeinträchtigt. Dies gilt nicht, wenn die Entscheidung &lt;br /&gt;
&lt;br /&gt;
(1)	für den Abschluss oder die Erfüllung eines Vertrags zwischen Ihnen und dem Verantwortlichen erforderlich ist,&lt;br /&gt;
&lt;br /&gt;
(2)	aufgrund von Rechtsvorschriften der Union oder der Mitgliedstaaten, denen der Verantwortliche unterliegt, zulässig ist und diese Rechtsvorschriften angemessene Maßnahmen zur Wahrung Ihrer Rechte und Freiheiten sowie Ihrer berechtigten Interessen enthalten oder&lt;br /&gt;
&lt;br /&gt;
(3)	mit Ihrer ausdrücklichen Einwilligung erfolgt.&lt;br /&gt;
&lt;br /&gt;
Allerdings dürfen diese Entscheidungen nicht auf besonderen Kategorien personenbezogener Daten nach Art. 9 Abs. 1 DSGVO beruhen, sofern nicht Art. 9 Abs. 2 lit. a oder g DSGVO gilt und angemessene Maßnahmen zum Schutz der Rechte und Freiheiten sowie Ihrer berechtigten Interessen getroffen wurden.&lt;br /&gt;
Hinsichtlich der in (1) und (3) genannten Fälle trifft der Verantwortliche angemessene Maßnahmen, um die Rechte und Freiheiten sowie Ihre berechtigten Interessen zu wahren, wozu mindestens das Recht auf Erwirkung des Eingreifens einer Person seitens des Verantwortlichen, auf Darlegung des eigenen Standpunkts und auf Anfechtung der Entscheidung gehört.&lt;br /&gt;
&lt;br /&gt;
Recht auf Beschwerde bei einer Aufsichtsbehörde&lt;br /&gt;
&lt;br /&gt;
Unbeschadet eines anderweitigen verwaltungsrechtlichen oder gerichtlichen Rechtsbehelfs steht Ihnen das Recht auf Beschwerde bei einer Aufsichtsbehörde, insbesondere in dem Mitgliedstaat ihres Aufenthaltsorts, ihres Arbeitsplatzes oder des Orts des mutmaßlichen Verstoßes, zu, wenn Sie der Ansicht sind, dass die Verarbeitung der Sie betreffenden personenbezogenen Daten gegen die DSGVO verstößt. &lt;br /&gt;
Die Aufsichtsbehörde, bei der die Beschwerde eingereicht wurde, unterrichtet den Beschwerdeführer über den Stand und die Ergebnisse der Beschwerde einschließlich der Möglichkeit eines gerichtlichen Rechtsbehelfs nach Art. 78 DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kriterien zum Ergänzen der Datenschutzerklärung ==&lt;br /&gt;
Umfang, Rechtsgrundlage, Zweck, Dauer, Widerspruchsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
== Komplette Beispiele ==&lt;br /&gt;
 [[Datenschutz - Mustertexte - Beispiele]]&lt;br /&gt;
&lt;br /&gt;
Im Zweifel müssen die Beispiele anhand der üblichen Kriterien ergänzt werden (siehe oben)&lt;br /&gt;
=== Beispiel MVZ-Bad Reichenhall ===&lt;br /&gt;
&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Wir freuen uns über Ihren Besuch auf unserer Webseite sowie über Ihr Interesse an unserem Unternehmen. Wir verstehen Datenschutz als kundenorientiertes Qualitätsmerkmal. Der Schutz Ihrer persönlichen Daten und die Wahrung Ihres Persönlichkeitsrechts sind uns wichtig.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Datenschutzerklärung möchten wir alle Besucher unserer Webseite transparent über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren und Sie über die Ihnen zustehenden Rechte aufklären.&lt;br /&gt;
&lt;br /&gt;
Eine Nutzung unserer Webseite ist grundsätzlich ohne die Angabe von personenbezogener Daten möglich. Sollten Sie jedoch über unsere Webseite Dienste unseres Unternehmens in Anspruch nehmen, kann die Verarbeitung Ihrer personenbezogenen Daten erforderlich werden.&lt;br /&gt;
&lt;br /&gt;
Die beim Besuch unserer Webseiten automatisch erhobenen Daten oder aber bei der Inanspruchnahme von Diensten von Ihnen eingetragenen personenbezogenen Daten, werden gemäß den jeweils aktuellen gesetzlichen Bestimmungen zum Schutz personenbezogener Daten verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Ist eine Verarbeitung Ihrer personenbezogenen Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir grundsätzlich eine Einwilligung für den erforderlichen Zweck der Verarbeitung ein.&lt;br /&gt;
&lt;br /&gt;
Als für die Verarbeitung verantwortliches Unternehmen, haben wir technische und organisatorische Maßnahmen festgelegt, um ein möglichst hohes Schutzniveau Ihrer personenbezogenen Daten sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
Wir weisen jedoch darauf hin, dass eine Datenübertragung über das World Wide Web grundsätzlich Sicherheitslücken aufweisen kann.&lt;br /&gt;
&lt;br /&gt;
Möchten Sie Dienste unseres Unternehmens in Anspruch nehmen und hierfür nicht den Weg der Datenübermittlung über das World Wide Web nutzen wollen, beseht auch die Möglichkeit der telefonischen Kontaktaufnahme.&lt;br /&gt;
&lt;br /&gt;
Kontaktdaten des für die Verarbeitung Verantwortlichen&lt;br /&gt;
&lt;br /&gt;
Verantwortlicher im Sinne der Datenschutz-Grundverordnung, ist:&lt;br /&gt;
&lt;br /&gt;
MVZ Bad Reichenhall&lt;br /&gt;
Salus Gesundheitszentrum GmbH u. Co KG&lt;br /&gt;
Rinckstr. 7-9&lt;br /&gt;
83435 Bad Reichenhall&lt;br /&gt;
info(@)salus-klinik.de&lt;br /&gt;
&lt;br /&gt;
Als Datenschutzbeauftragter ist bestellt:&lt;br /&gt;
&lt;br /&gt;
Herr Stephan Hartinger&lt;br /&gt;
Coseco GmbH&lt;br /&gt;
Telefon: 08232 80988-70&lt;br /&gt;
E-Mail: datenschutz@salus-klinik.de&lt;br /&gt;
&lt;br /&gt;
Erhebung von allgemeinen Zugriffsinformationen&lt;br /&gt;
&lt;br /&gt;
Bei jedem Aufruf unserer Webseite werden automatisch Server Log File Informationen, die Ihr Browser an uns übermittelt, erfasst. Dies sind:&lt;br /&gt;
&lt;br /&gt;
    IP-Adresse (Internet-Protokoll-Adresse) des zugreifenden Computers&lt;br /&gt;
    die Webseite, von der aus Sie uns besuchen (Referrer)&lt;br /&gt;
    die Webseite, die Sie bei uns besuchen&lt;br /&gt;
    das Datum und die Dauer des Besuches&lt;br /&gt;
    Browsertyp und Browser-Einstellungen&lt;br /&gt;
    Betriebssystem&lt;br /&gt;
&lt;br /&gt;
Wir weisen darauf hin, dass diese Daten nicht einer bestimmten Person zugeordnet werden können. Wir verwenden diese technischen Zugriffsinformationen ausschließlich für folgende Zwecke:&lt;br /&gt;
&lt;br /&gt;
    Um die Attraktivität und Bedienbarkeit unserer Webseiten zu verbessern,&lt;br /&gt;
    Um technische Probleme auf unserer Webseite frühzeitig zu erkennen.&lt;br /&gt;
    die Inhalte unserer Internetseite korrekt auszuliefern,&lt;br /&gt;
    und um Strafverfolgungsbehörden im Falle eines Cyberangriffes die zur Strafverfolgung notwendigen Informationen bereitzustellen.&lt;br /&gt;
&lt;br /&gt;
Diese Daten werden für als technische Vorkehrung maximal 7 Tage zum Schutz der Datenverarbeitungssysteme gegen unerlaubte Zugriffe gespeichert.&lt;br /&gt;
&lt;br /&gt;
Erhebung und Weitergabe von personenbezogenen Daten&lt;br /&gt;
&lt;br /&gt;
Wir verwenden Ihre persönlichen Daten nur zu den auf dieser Informationsseite zum Datenschutz angeführten Zwecken.&lt;br /&gt;
Auf unserer Webseite existieren folgende Eingabemasken für die Erhebung von personenbezogenen Daten:&lt;br /&gt;
&lt;br /&gt;
Formulare auf unserer Webseite&lt;br /&gt;
&lt;br /&gt;
Kontaktaufnahme per Mail oder Kontaktformular&lt;br /&gt;
Wir bieten Ihnen auf unserer Seite die Möglichkeit, mit uns per E-Mail und/oder über ein Kontaktformular in Verbindung zu treten.&lt;br /&gt;
Sofern Sie per E-Mail oder über ein Kontaktformular mit uns in Kontakt treten, werden die von Ihnen übermittelten personenbezogenen Daten automatisch gespeichert.&lt;br /&gt;
Solche, auf freiwilliger Basis von Ihnen an uns übermittelten personenbezogenen Daten, werden für Zwecke der Bearbeitung Ihrer Anfrage oder der Kontaktaufnahme zur betroffenen Person gespeichert. Es erfolgt keine Weitergabe dieser personenbezogenen Daten an Dritte.&lt;br /&gt;
&lt;br /&gt;
Wofür werden Cookies verwendet?&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite benutzt an mehreren Stellen sogenannte Cookies. Ausführliche Informationen und welche Cookies zum Einsatz kommen, können Sie unserer Cookie Richtlinie (Link auf Cookie Richtlinie) entnehmen.&lt;br /&gt;
&lt;br /&gt;
Einsatz und Verwendung von Tracking-, Analyse-Tools&lt;br /&gt;
&lt;br /&gt;
Auf dieser Webseite kommen keine Tracking-, Analyse-Tools&lt;br /&gt;
&lt;br /&gt;
Löschung, Sperrung und Dauer der Speicherung von personenbezogenen Daten&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten und speichern Ihre personenbezogenen Daten nur für den Zeitraum, der zur Erreichung des jeweiligen Speicherungszwecks erforderlich ist oder wie es die vom Gesetzgeber vorgesehenen vielfältigen Aufbewahrungsfristen vorsehen.&lt;br /&gt;
Nach Fortfall eines Speicherungszweckes oder nach Ablauf der vom Gesetzgeber vorgesehenen Aufbewahrungsfrist, werden die personenbezogenen Daten routinemäßig und entsprechend den gesetzlichen Vorschriften für eine weitere Verarbeitung gesperrt oder gelöscht.&lt;br /&gt;
&lt;br /&gt;
Datenschutzrechte der betroffenen Person&lt;br /&gt;
&lt;br /&gt;
Wenn Sie Fragen zu Ihren personenbezogenen Daten haben, können Sie sich jederzeit schriftlich an uns wenden. Sie haben nach DS-GVO folgende Rechte:&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Auskunft (Unterpunkt Art. 15 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben jederzeit das Recht eine Auskunft darüber zu erhalten, welche Kategorien und Informationen zu Ihren personenbezogenen Daten von uns zu welchem Zweck verarbeitet und wie lange und nach welchen Kriterien diese Daten gespeichert werden und ob in diesem Zusammenhang eine automatisierte Entscheidungsfindung einschließlich Profiling angewendet wird. Außerdem haben Sie das Recht zu erfahren welche Empfänger bzw. Kategorien von Empfängern Ihre Daten offengelegt worden sind oder noch offengelegt werden; insbesondere bei Empfängern in Drittländer oder internationalen Organisationen. In diesem Fall haben Sie auch das Recht über geeignete Garantien im Zusammenhang mit der Übermittlung Ihrer personenbezogenen Daten unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Neben dem Beschwerderecht bei der Aufsichtsbehörde und dem Informationsrecht über die Herkunft Ihrer Daten haben Sie das Recht auf Löschung, Berichtigung sowie das Recht auf Einschränkung für bzw. Widerspruchsrecht gegen eine Verarbeitung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
In allen oben genannten Fällen haben Sie das Recht vom Datenbearbeiter eine kostenfreie Kopie Ihrer personenbezogenen Daten, die von uns verarbeitet werden, zu verlangen. Für alle weiteren Kopien, die Sie beantragen oder die über das Informationsrecht der betroffenen Person hinausgehen, sind wir berechtigt eine angemessene Verwaltungsgebühr zu erheben.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Berichtigung (Art. 16 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, der unverzüglichen Berichtigung Ihrer unrichtigen personenbezogenen Daten zu verlangen und unter Berücksichtigung der Zwecke der Verarbeitung, die Vervollständigung unvollständiger personenbezogener Daten auch mittels einer ergänzenden Erklärung zu verlangen. Möchten Sie das Recht auf Berichtigung in Anspruch nehmen, können Sie sich jederzeit an unseren Datenschutzbeauftragten oder den für die Verarbeitung Verantwortlichen wenden.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Löschung (Art. 17 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, die unverzügliche Löschung Ihrer Daten zu verlangen („Recht auf Vergessenwerden“) insbesondere dann, wenn die Speicherung der Daten nicht mehr notwendig ist, Sie Ihre Einwilligung zur Datenverarbeitung widerrufen, Ihre Daten unrechtmäßig verarbeitet wurden oder unrechtmäßig erhoben wurden und eine Rechtspflicht zum Löschen nach EU- oder nationalem Recht besteht.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Vergessenwerden findet jedoch keine Anwendung, wenn ein überwiegendes Recht auf freie Meinungsäußerung bzw. der Informationsfreiheit besteht, die Datenspeicherung für die Erfüllung einer rechtlichen Verpflichtung (z. B. Aufbewahrungspflichten) erforderlich ist, Archivzwecke der Löschung entgegenstehen oder die Speicherung zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen dient.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Einschränkung (Art. 18 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht auf Einschränkung der Verarbeitung Ihrer Daten durch den für die Verarbeitung Verantwortlichen zu verlangen, wenn die Richtigkeit der Daten von Ihnen bestritten wird, die Verarbeitung unrechtmäßig ist, Sie die Löschung Ihrer personenbezogenen Daten ablehnen und stattdessen eine Einschränkung der Verarbeitung verlangen, wenn die Erforderlichkeit für den Verarbeitungszweck entfällt oder Sie der Verarbeitung gemäß Artikel 21 Absatz 1 widersprochen haben, solange noch nicht feststeht, ob berechtigte Gründe unsererseits gegenüber Ihren überwiegen.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Datenübertragbarkeit (Art. 20 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht auf Übertragbarkeit Ihrer personenbezogenen Daten, welche Sie unserem Unternehmen in Form eines gängigen Formates bereitgestellt haben, damit Sie ohne Behinderung Ihre personenbezogenen Daten an einen anderen Verantwortlichen weiterleiten lassen können, sofern bspw. Ihrerseits eine Einwilligung vorliegt und die Verarbeitung mittels eines automatisierten Verfahrens erfolgt.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Widerspruch (Art. 21 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, jederzeit gegen die Erhebung, Verarbeitung oder Nutzung ihrer personenbezogenen Daten für Zwecke der Direktwerbung oder der Markt- und Meinungsforschung sowie der allgemeinen geschäftsmäßigen Datenverarbeitung zu widersprechen, es sei denn, wir können zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die Ihren Interessen, Rechten und Freiheiten überwiegen.&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus können Sie Ihr Recht auf Widerspruch nicht wahrnehmen, wenn eine Rechtsvorschrift die Erhebung, Verarbeitung oder Nutzung der Daten vorsieht oder zur Erhebung, Verarbeitung oder Nutzung verpflichtet.&lt;br /&gt;
&lt;br /&gt;
Beschwerderecht bei der Datenschutzaufsichtsbehörde (Art. 77 DS-GVO i. V. m § 19 BDSG)&lt;br /&gt;
&lt;br /&gt;
Ihnen wird das Recht zuerkannt, sich bei der zuständigen Aufsichtsbehörde zu beschweren, wenn sie der Ansicht sind, dass ein Verstoß bei der Verarbeitung Ihrer personenbezogenen Daten vorliegt.&lt;br /&gt;
&lt;br /&gt;
Recht auf Widerruf einer datenschutzrechtlichen Einwilligung (Art. 7 Abs. 3 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Eine erteilte Einwilligung für die Verarbeitung Ihrer personenbezogenen Daten können Sie jederzeit und ohne Angaben von Gründen widerrufen. Dies gilt auch für den Widerruf von Einwilligungserklärungen, die vor Inkrafttreten der EU-Datenschutz-Grundverordnung, uns gegenüber erteilt worden ist.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage der Verarbeitung&lt;br /&gt;
&lt;br /&gt;
Bei der Verarbeitung von personenbezogenen Daten, für die wir eine Einwilligung der betroffenen Person einholen, dient Art. 6 Abs. 1, Satz 1 a) der Datenschutz-Grundverordnung (DSGVO) als Rechtsgrundlage.Bei der Verarbeitung von personenbezogenen Daten, die zur Erfüllung eines Vertrages erforderlich sind, dessen Vertragspartei die betroffene Person ist, dient Art. 6 Ab. 1, Satz 1 b) (DSGVO) als Rechtsgrundlage. Diese Regelung umfasst auch Verarbeitungsvorgänge, die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind.&lt;br /&gt;
&lt;br /&gt;
Soweit eine Verarbeitung personenbezogener Daten zur Erfüllung einer rechtlichen Verpflichtung erforderlich ist, denen unser Unternehmen unterliegt, dient Art. 6 Abs. 1, Satz 1 c) (DSGVO) als Rechtsgrundlage.&lt;br /&gt;
&lt;br /&gt;
Ist die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich und überwiegen die Interessen, Grundrechte und Grundfreiheiten des Betroffenen das erstgenannte Interesse nicht, so dient Art. 6 Abs. 1 Satz 1 f) (DSGVO) als Rechtsgrundlage für die Verarbeitung. Das berechtige Interesse unseres Unternehmens liegt in der Durchführung unserer Geschäftstätigkeit sowie in der Analyse, Optimierung und Erhaltung der Sicherheit unseres Onlineangebotes.&lt;br /&gt;
&lt;br /&gt;
Übermittlung von Daten an Dritte&lt;br /&gt;
&lt;br /&gt;
Wir verkaufen oder verleihen generell keine Nutzerdaten. Eine Übermittlung an Dritte über den in dieser Datenschutzerklärung beschriebenen Rahmen hinaus, findet nur dann statt, wenn dies zur Abwicklung des jeweiligen angeforderten Dienstes nötig ist.&lt;br /&gt;
&lt;br /&gt;
Wir übermitteln Daten nur dann, wenn dazu eine rechtliche Verpflichtung besteht. Das ist dann der Fall, wenn staatliche Einrichtungen (z.B. Strafverfolgungsbehörden) schriftlich um Auskunft ersuchen oder eine richterliche Verfügung vorliegt.&lt;br /&gt;
&lt;br /&gt;
Eine Übermittlung von personenbezogenen Daten in sogenannte Drittstaaten außerhalb des EU/ EWR-Raumes findet nicht statt.&lt;br /&gt;
&lt;br /&gt;
Gesetzliche oder vertragliche Vorschriften zur Bereitstellung von personenbezogenen Daten sowie mögliche Folgen der Nichtbereitstellung&lt;br /&gt;
&lt;br /&gt;
Wir weisen hiermit darauf hin, dass die Bereitstellung von personenbezogenen Daten in bestimmten Fällen (z.B. Steuervorschriften) gesetzlich vorgeschrieben ist oder sich aus vertraglichen Regelungen (z.B. Angaben zum/des Vertragspartners) ergeben kann. Beispielsweise kann es für einen Vertragsabschluss erforderlich sein, dass die betroffene Person/der Vertragspartner seine personenbezogenen Daten zur Verfügung stellen muss, damit sein Anliegen (z.B. Bestellung) überhaupt von uns bearbeitet werden kann. Eine Verpflichtung zur Bereitstellung von personenbezogenen Daten ergibt sich vor allem bei Vertragsabschlüssen. Sollten in diesem Fall keine personenbezogenen Daten bereitgestellt werden, kann der Vertrag mit der betroffenen Person nicht abgeschlossen werden. Vor einer Bereitstellung personenbezogener Daten durch den Betroffenen kann sich der Betroffene an unseren Datenschutzbeauftragten oder an den für die Verarbeitung Verantwortlichen wenden. Der Datenschutzbeauftragte oder der für die Verarbeitung Verantwortliche klärt dann den Betroffenen darüber auf, ob die Bereitstellung der benötigten personenbezogenen Daten gesetzlich oder vertraglich vorgeschrieben bzw. für den Vertragsabschluss erforderlich ist und ob sich aus den Anliegen der betroffenen Person eine Verpflichtung ergibt, die personenbezogenen Daten bereitzustellen bzw. welche Folgen eine Nichtbereitstellung der gewünschten Daten für den Betroffenen hat.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel Justizministerium BW ===&lt;br /&gt;
==== Datenschutzhinweis ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzhinweis&lt;br /&gt;
Die nachfolgenden Datenschutzhinweise geben einen Überblick über die Erhebung und Verarbeitung Ihrer Daten. Die vollständigen Informationen ergeben sich aus der Datenschutzerklärung.&lt;br /&gt;
&lt;br /&gt;
Welche Daten erfassen wir von Ihnen?&lt;br /&gt;
1. Beim Aufruf unserer Webseite:&lt;br /&gt;
&lt;br /&gt;
Ihre IP-Adresse zusammen mit dem Zeitpunkt und Inhalt Ihres Abrufs einschließlich der übertragenen Datenmenge und der Meldung, ob der Abruf erfolgreich war. Diese Daten werden nach Ende des Zugriffs auf die Webseite gelöscht.&lt;br /&gt;
&lt;br /&gt;
2. Aufgrund ihrer Eingaben auf unserer Webseite:&lt;br /&gt;
&lt;br /&gt;
Auf dem Kontaktformular: Ihr Vor- und Nachname und Ihre E-Mail-Adresse&lt;br /&gt;
Wenn Sie bei uns Publikationen bestellen: Den Inhalt Ihrer Bestellung und sowie Ihr Geschlecht, Ihren Nachnamen, Ihre Anschrift und Ihre E-Mail-Adresse&lt;br /&gt;
Wenn Sie bei uns den Newsletter bestellen: Ihre E-Mail-Adresse&lt;br /&gt;
3. Weitere Daten erheben wir nicht.&lt;br /&gt;
Auf welche Weise erheben wir Ihre Daten?&lt;br /&gt;
Die Daten, die wir bei jedem Zugriff erheben, protokollieren wir automatisiert; ansonsten nur aufgrund Ihrer Eingaben und beim Bestellservice für Broschüren durch einen temporären Cookie.&lt;br /&gt;
Wofür nutzen wir Ihre Daten?&lt;br /&gt;
Ausschließlich zur Bereitstellung, Optimierung und Sicherheit unseres Internetangebots&lt;br /&gt;
Mit Ihrer Einwilligung zur Entgegenahme Ihrer Mitteilung und zur Abwicklung Ihrer Bestellung&lt;br /&gt;
Wir nutzen Ihre Daten auch&lt;br /&gt;
nicht zur Profilbildung&lt;br /&gt;
nicht für Werbung&lt;br /&gt;
grundätzlich nicht zur Weitergabe an Dritte, außer:&lt;br /&gt;
&lt;br /&gt;
Bei der Bestellung von Publikationen teilen wir Ihre Adressdaten dem Versanddienstleister mit&lt;br /&gt;
Zur Verfolgung rechtlicher Interessen, insbesondere wenn die Daten im Zusammenhang mit einem Angriff auf unsere IT-Strukturen stehen&lt;br /&gt;
Welche Rechte haben Sie:&lt;br /&gt;
Auskunft&lt;br /&gt;
Löschung&lt;br /&gt;
Berichtigung&lt;br /&gt;
Widerspruch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Datenschutz.org====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzerklärung&lt;br /&gt;
Das Bundesministerium der Justiz und für Verbraucherschutz nimmt den Schutz Ihrer personenbezogenen Daten sehr ernst. Wir möchten, dass Sie wissen, wann wir welche Daten erheben und wie wir sie verwenden. Wir haben technische und organisatorische Maßnahmen getroffen, die sicherstellen, dass die Vorschriften über den Datenschutz sowohl von uns als auch von externen Dienstleistern beachtet werden. Im Zuge der Weiterentwicklung unserer Webseiten und der Implementierung neuer Technologien, um unseren Service für Sie zu verbessern, können auch Änderungen dieser Datenschutzerklärung erforderlich werden. Daher empfehlen wir Ihnen, sich diese Datenschutzerklärung ab und zu erneut durchzulesen.&lt;br /&gt;
&lt;br /&gt;
Zugriff auf das Internetangebot&lt;br /&gt;
Jeder Zugriff auf das Internetangebot des Bundesministeriums der Justiz und für Verbraucherschutz wird in einer Protokolldatei gespeichert. In der Protokolldatei werden folgende Daten maximal 14 Tage gespeichert:&lt;br /&gt;
&lt;br /&gt;
Name der abgerufenen Datei&lt;br /&gt;
Datum und Uhrzeit des Abrufs&lt;br /&gt;
übertragene Datenmenge&lt;br /&gt;
Meldung, ob der Abruf erfolgreich war&lt;br /&gt;
Die gespeicherten Daten werden nur zur Optimierung des Internetangebotes ausgewertet.&lt;br /&gt;
Wenn Sie Informationsmaterial, Newsletter, Autogrammkarten oder Broschüren bestellen, fragen wir Sie nach Ihrem Namen und nach anderen persönlichen Informationen. Es unterliegt Ihrer freien Entscheidung, ob Sie diese Daten eingeben. Ihre Angaben speichern wir auf besonders geschützten Servern in Deutschland. Der Zugriff darauf ist nur wenigen besonders befugten Personen möglich, die mit der technischen, kaufmännischen oder redaktionellen Betreuung der Server befasst sind.&lt;br /&gt;
&lt;br /&gt;
Weitergabe personenbezogener Daten an Dritte&lt;br /&gt;
Daten, die beim Zugriff auf das Internetangebot des Bundesministeriums der Justiz und für Verbraucherschutz protokolliert worden sind, werden an Dritte nur übermittelt, soweit wir gesetzlich oder durch Gerichtsentscheidung dazu verpflichtet sind oder die Weitergabe im Falle von Angriffen auf die Internetinfrastruktur des BMJV zur Rechts- oder Strafverfolgung erforderlich ist. Eine Weitergabe zu anderen nichtkommerziellen oder zu kommerziellen Zwecken erfolgt nicht.&lt;br /&gt;
&lt;br /&gt;
Im Falle der Bestellung von Informationsmaterial verwenden wir die von Ihnen eingegebenen personenbezogenen Informationen nur innerhalb des Bundesministeriums der Justiz und für Verbraucherschutz und der mit dem Broschürenversand beauftragten Unternehmen. Wir geben sie nicht ohne Ihre ausdrückliche Einwilligung an Dritte weiter.&lt;br /&gt;
&lt;br /&gt;
Schutz personenbezogener Daten im Rahmen der europäischen Zusammenarbeit im Verbraucherschutz&lt;br /&gt;
Die Erklärung zum Schutz personenbezogener Daten im Rahmen der europäischen Zusammenarbeit im Verbraucherschutz finden Sie hier.&lt;br /&gt;
&lt;br /&gt;
Einsatz von Cookies&lt;br /&gt;
Auf den Seiten unseres Bestellservices für Broschüren kommt ein Cookie zum Einsatz, das für die Zeit ihres Besuchs auf der Website gültig ist. Dies ist für die Funktion des Warenkorbs aus technischen Gründen notwendig. Die meisten Browser sind so eingestellt, dass sie Cookies automatisch akzeptieren. Sie können das Speichern von Cookies jedoch deaktivieren oder Ihren Browser so einstellen, dass Cookies nur für die Dauer der jeweiligen Verbindung zum Internet gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
Minderjährigenschutz&lt;br /&gt;
Personen unter 18 Jahren sollten ohne Zustimmung der Eltern oder Erziehungsberechtigten keine personenbezogenen Daten an uns übermitteln. Wir fordern keine personenbezogenen Daten von Kindern und Jugendlichen an. Wissentlich sammeln wir solche Daten nicht und geben sie auch nicht an Dritte weiter.&lt;br /&gt;
&lt;br /&gt;
Links zu Webseiten anderer Anbieter&lt;br /&gt;
Unser Online-Angebot enthält Links zu Webseiten anderer Anbieter. Wir haben keinen Einfluss darauf, dass diese Anbieter die Datenschutzbestimmungen einhalten.&lt;br /&gt;
Behördliche Datenschutzbeauftragte&lt;br /&gt;
Frau Elisabeth Duhr&lt;br /&gt;
Bundesministerium der Justiz und für Verbraucherschutz &lt;br /&gt;
Mohrenstr. 37&lt;br /&gt;
10117 Berlin&lt;br /&gt;
&lt;br /&gt;
Telefon: +49 (0) 30 18 580 - 0&lt;br /&gt;
E-Mail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datenschutz.org ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATENSCHUTZERKLÄRUNG&lt;br /&gt;
&lt;br /&gt;
GELTUNGSBEREICH&lt;br /&gt;
&lt;br /&gt;
Diese Datenschutzerklärung soll die Nutzer dieser Website gemäß Bundesdatenschutzgesetz und Telemediengesetz über die Art, den Umfang und den Zweck der Erhebung und Verwendung personenbezogener Daten durch den Websitebetreiber [Ihre Kontaktdaten einfügen] informieren.&lt;br /&gt;
Der Websitebetreiber nimmt Ihren Datenschutz sehr ernst und behandelt Ihre personenbezogenen Daten vertraulich und entsprechend der gesetzlichen Vorschriften.&lt;br /&gt;
Bedenken Sie, dass die Datenübertragung im Internet grundsätzlich mit Sicherheitslücken bedacht sein kann. Ein vollumfänglicher Schutz vor dem Zugriff durch Fremde ist nicht realisierbar.&lt;br /&gt;
&lt;br /&gt;
ZUGRIFFSDATEN&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber bzw. Seitenprovider erhebt Daten über Zugriffe auf die Seite und speichert diese als „Server-Logfiles“ ab. Folgende Daten werden so protokolliert:&lt;br /&gt;
Besuchte Website&lt;br /&gt;
Uhrzeit zum Zeitpunkt des Zugriffes&lt;br /&gt;
Menge der gesendeten Daten in Byte&lt;br /&gt;
Quelle/Verweis, von welchem Sie auf die Seite gelangten&lt;br /&gt;
Verwendeter Browser&lt;br /&gt;
Verwendetes Betriebssystem&lt;br /&gt;
Verwendete IP-Adresse&lt;br /&gt;
Die erhobenen Daten dienen lediglich statistischen Auswertungen und zur Verbesserung der Website. Der Websitebetreiber behält sich allerdings vor, die Server-Logfiles nachträglich zu überprüfen, sollten konkrete Anhaltspunkte auf eine rechtswidrige Nutzung hinweisen.&lt;br /&gt;
&lt;br /&gt;
COOKIES&lt;br /&gt;
Diese Website verwendet Cookies. Dabei handelt es sich um kleine Textdateien, welche auf Ihrem Endgerät gespeichert werden. Ihr Browser greift auf diese Dateien zu. Durch den Einsatz von Cookies erhöht sich die Benutzerfreundlichkeit und Sicherheit dieser Website.&lt;br /&gt;
Gängige Browser bieten die Einstellungsoption, Cookies nicht zuzulassen. Hinweis: Es ist nicht gewährleistet, dass Sie auf alle Funktionen dieser Website ohne Einschränkungen zugreifen können, wenn Sie entsprechende Einstellungen vornehmen.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT PERSONENBEZOGENEN DATEN&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber erhebt, nutzt und gibt Ihre personenbezogenen Daten nur dann weiter, wenn dies im gesetzlichen Rahmen erlaubt ist oder Sie in die Datenerhebung einwilligen.&lt;br /&gt;
Als personenbezogene Daten gelten sämtliche Informationen, welche dazu dienen, Ihre Person zu bestimmen und welche zu Ihnen zurückverfolgt werden können – also beispielsweise Ihr Name, Ihre E-Mail-Adresse und Telefonnummer.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT KONTAKTDATEN&lt;br /&gt;
&lt;br /&gt;
Nehmen Sie mit dem Websitebetreiber durch die angebotenen Kontaktmöglichkeiten Verbindung auf, werden Ihre Angaben gespeichert, damit auf diese zur Bearbeitung und Beantwortung Ihrer Anfrage zurückgegriffen werden kann. Ohne Ihre Einwilligung werden diese Daten nicht an Dritte weitergegeben.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT KOMMENTAREN UND BEITRÄGEN&lt;br /&gt;
&lt;br /&gt;
Hinterlassen Sie auf dieser Website einen Beitrag oder Kommentar, wird Ihre IP-Adresse gespeichert. Dies dient der Sicherheit des Websitebetreibers: Verstößt Ihr Text gegen das Recht, möchte er Ihre Identität nachverfolgen können.&lt;br /&gt;
&lt;br /&gt;
ABONNEMENTS&lt;br /&gt;
&lt;br /&gt;
Sie haben die Möglichkeit, sowohl die gesamte Website als auch Nachfolgekommentare auf Ihren Beitrag zu abonnieren. Sie erhalten eine E-Mail zur Bestätigung Ihrer E-Mail-Adresse. Neben dieser werden keine weiteren Daten erhoben. Die gespeicherten Daten werden nicht an Dritte weitergereicht. Sie können ein Abonnement jederzeit abbestellen.&lt;br /&gt;
&lt;br /&gt;
GOOGLE ANALYTICS&lt;br /&gt;
Diese Website nutzt den Dienst „Google Analytics“, welcher von der Google Inc. (1600 Amphitheatre Parkway Mountain View, CA 94043, USA) angeboten wird, zur Analyse der Websitebenutzung durch Nutzer. Der Dienst verwendet „Cookies“ – Textdateien, welche auf Ihrem Endgerät gespeichert werden. Die durch die Cookies gesammelten Informationen werden im Regelfall an einen Google-Server in den USA gesandt und dort gespeichert.&lt;br /&gt;
Auf dieser Website greift die IP-Anonymisierung. Die IP-Adresse der Nutzer wird innerhalb der Mitgliedsstaaten der EU und des Europäischen Wirtschaftsraum gekürzt. Durch diese Kürzung entfällt der Personenbezug Ihrer IP-Adresse. Im Rahmen der Vereinbarung zur Auftragsdatenvereinbarung, welche die Websitebetreiber mit der Google Inc. geschlossen haben, erstellt diese mithilfe der gesammelten Informationen eine Auswertung der Websitenutzung und der Websiteaktivität und erbringt mit der Internetnutzung verbundene Dienstleistungen.&lt;br /&gt;
Sie haben die Möglichkeit, die Speicherung des Cookies auf Ihrem Gerät zu verhindern, indem Sie in Ihrem Browser entsprechende Einstellungen vornehmen. Es ist nicht gewährleistet, dass Sie auf alle Funktionen dieser Website ohne Einschränkungen zugreifen können, wenn Ihr Browser keine Cookies zulässt.&lt;br /&gt;
Weiterhin können Sie durch ein Browser-Plugin verhindern, dass die durch Cookies gesammelten Informationen (inklusive Ihrer IP-Adresse) an die Google Inc. gesendet und von der Google Inc. genutzt werden. Folgender Link führt Sie zu dem entsprechenden Plugin: https://tools.google.com/dlpage/gaoptout?hl=de Alternativ verhindern Sie mit einem Klick auf diesen Link (WICHTIG! Opt-Out-Link einfügen), dass Google Analytics innerhalb dieser Website Daten über Sie erfasst. Mit dem Klick auf obigen Link laden Sie ein „Opt-Out-Cookie“ herunter. Ihr Browser muss die Speicherung von Cookies also hierzu grundsätzlich erlauben. Löschen Sie Ihre Cookies regelmäßig, ist ein erneuter Klick auf den Link bei jedem Besuch dieser Website vonnöten.&lt;br /&gt;
Hier finden Sie weitere Informationen zur Datennutzung durch die Google Inc.: https://support.google.com/analytics/answer/6004245?hl=de&lt;br /&gt;
&lt;br /&gt;
NUTZUNG VON SOCIAL MEDIA PLUGINS&lt;br /&gt;
&lt;br /&gt;
FACEBOOK&lt;br /&gt;
Diese Website verwendet Facebook Social Plugins, welches von der Facebook Inc. (1 Hacker Way, Menlo Park, California 94025, USA) betrieben wird. Erkennbar sind die Einbindungen an dem Facebook-Logo bzw. an den Begriffen „Like“, „Gefällt mir“, „Teilen“ in den Farben Facebooks (Blau und Weiß). Informationen zu allen Facebook-Plugins finden Sie im folgenden Link: https://developers.facebook.com/docs/plugins/&lt;br /&gt;
Das Plugin stellt eine direkte Verbindung zwischen Ihrem Browser und den Facebook-Servern her. Der Websitebetreiber hat keinerlei Einfluss auf die Natur und den Umfang der Daten, welche das Plugin an die Server der Facebook Inc. übermittelt. Informationen dazu finden Sie hier: https://www.facebook.com/help/186325668085084 Das Plugin informiert die Facebook Inc. darüber, dass Sie Nutzer diese Website besucht hat. Es besteht hierbei die Möglichkeit, dass Ihre IP-Adresse gespeichert wird. Sind Sie während des Besuchs auf dieser Website in Ihrem Facebook-Konto eingeloggt, werden die genannten Informationen mit diesem verknüpft.&lt;br /&gt;
Nutzen Sie die Funktionen des Plugins – etwa indem Sie einen Beitrag teilen oder „liken“ – werden die entsprechenden Informationen ebenfalls an die Facebook Inc. übermittelt.&lt;br /&gt;
Möchten Sie verhindern, dass die Facebook. Inc. diese Daten mit Ihrem Facebook-Konto verknüpft, loggen Sie sich bitte vor dem Besuch dieser Website bei Facebook aus.&lt;br /&gt;
&lt;br /&gt;
GOOGLE+&lt;br /&gt;
Weiterhin nutzt diese Website die „+1“-Schaltfläche von Google Plus. Betrieben wird diese von der Google Inc. (1600 Amphitheatre Parkway Mountain View, CA 94043, USA). Besuchen Sie eine Seite, welche die „+1“-Schaltfläche enthält, entsteht eine direkte Verbindung zwischen Ihrem Browser und den Google-Servern. Der Websitebetreiber hat daher keinerlei Einfluss auf die Natur und den Umfang der Daten, welche das Plugin an die Server der Google Inc. übermitteln. Klicken Sie auf den „+1“-Button, während Sie in Google + angemeldet sind, teilen Sie die Inhalte der Seite auf Ihrem öffentlichen Profil.&lt;br /&gt;
Personenbezogene Daten werden laut der Google Inc. erst dann erhoben, wenn Sie auf die Schaltfläche klicken. Auch bei eingeloggten Google-Nutzern wird unter anderem die IP-Adresse gespeichert. Möchten Sie verhindern, dass die Google Inc. diese Daten speichert und mit Ihrem Konto verknüpft, loggen Sie sich bitte vor dem Besuch dieser Website aus.&lt;br /&gt;
Informationen zur „+1“-Schaltfläche finden Sie hier: https://developers.google.com/+/web/buttons-policy.&lt;br /&gt;
Weiterhin nutzt diese Website Twitter-Schlatflächen. Betrieben werden diese von der Twitter Inc. (795 Folsom St., Suite 600, San Francisco, CA 94107, USA). Besuchen Sie eine Seite, welche eine solche Schaltfläche enthält, entsteht eine direkte Verbindung zwischen Ihrem Browser und den Twitter-Servern. Der Websitebetreiber hat daher keinerlei Einfluss über die Natur und den Umfang der Daten, welche das Plugin an die Server Twitter Inc. übermittelt.&lt;br /&gt;
Gemäß der Twitter Inc. wird dabei allein Ihre IP-Adresse erhoben und gespeichert. Informationen zu dem Umgang mit personenbezogenen Daten durch die Twitter Inc. finden Sie hier: https://twitter.com/privacy?lang=de&lt;br /&gt;
&lt;br /&gt;
NEWSLETTER ABONNEMENT&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber bietet Ihnen einen Newsletter an, in welchem er Sie über aktuelle Geschehnisse und Angebote informiert. Möchten Sie den Newsletter abonnieren, müssen Sie eine valide E-Mail-Adresse angeben.&lt;br /&gt;
Rechte des Nutzers: Auskunft, Berichtigung und Löschung&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Standard Beispiel ohne Plugins etc. ===&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Wir freuen uns über Ihren Besuch auf unserer Webseite sowie über Ihr Interesse an unserem Unternehmen.&lt;br /&gt;
&lt;br /&gt;
Wir verstehen Datenschutz als kundenorientiertes Qualitätsmerkmal. Der Schutz Ihrer persönlichen Daten und die Wahrung Ihres Persönlichkeitsrechts sind uns wichtig.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Datenschutzerklärung möchten wir alle Besucher unserer Webseite transparent über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren und Sie über die Ihnen zustehenden Rechte aufklären.&lt;br /&gt;
&lt;br /&gt;
Eine Nutzung unserer Webseite ist grundsätzlich ohne die Angabe von personenbezogener Daten möglich. Sollten Sie jedoch über unsere Webseite Dienste unseres Unternehmens in Anspruch nehmen, kann die Verarbeitung Ihrer personenbezogenen Daten erforderlich werden.&lt;br /&gt;
&lt;br /&gt;
Die beim Besuch unserer Webseiten automatisch erhobenen Daten oder aber bei der Inanspruchnahme von Diensten von Ihnen eingetragenen personenbezogenen Daten, werden gemäß den jeweils aktuellen gesetzlichen Bestimmungen zum Schutz personenbezogener Daten verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Ist eine Verarbeitung Ihrer personenbezogenen Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir grundsätzlich eine Einwilligung für den erforderlichen Zweck der Verarbeitung ein.&lt;br /&gt;
Als für die Verarbeitung verantwortliches Unternehmen, haben wir technische und organisatorische Maßnahmen festgelegt, um ein möglichst hohes Schutzniveau Ihrer personenbezogenen Daten sicherzustellen. Wir weisen jedoch darauf hin, dass eine Datenübertragung über das World Wide Web grundsätzlich Sicherheitslücken aufweisen kann.&lt;br /&gt;
&lt;br /&gt;
Möchten Sie Dienste unseres Unternehmens in Anspruch nehmen und hierfür nicht den Weg der Datenübermittlung über das World Wide Web nutzen wollen, beseht auch die Möglichkeit der telefonischen Kontaktaufnahme.&lt;br /&gt;
&lt;br /&gt;
NAME UND ANSCHRIFT DES VERANTWORTLICHEN&lt;br /&gt;
&lt;br /&gt;
Der Verantwortliche im Sinne der Datenschutz-Grundverordnung und anderer nationaler Datenschutzgesetze der Mitgliedsstaaten sowie sonstiger datenschutzrechtlicher Bestimmungen ist:&lt;br /&gt;
&lt;br /&gt;
ADRESSE&lt;br /&gt;
&lt;br /&gt;
Sie können diese Website in der Regel ohne Angabe personenbezogener Daten nutzen. Soweit wir personenbezogene Daten erfassen (z.B. wenn Sie mit uns in Kontakt treten möchten), erfolgt dies stets gemäß den gesetzlichen Datenschutzvorschriften, sowie dieser Datenschutzerklärung. Ohne ausdrückliche Zustimmung werden Ihre Daten niemals an Dritte weitergegeben.&lt;br /&gt;
&lt;br /&gt;
VERSCHLÜSSELTE DATENÜBERTRAGUNG&lt;br /&gt;
&lt;br /&gt;
Auf allen Seiten unseres Internetangebots, auf denen Sie persönliche Daten eingeben - so z. B. in unserem Kontaktformular, werden Ihre Daten direkt bei der Übertragung verschlüsselt. Alle datenschutzrelevanten Informationen (wie Name und Adresse) werden geschützt gespeichert.&lt;br /&gt;
&lt;br /&gt;
Wir möchten Sie darauf hinweisen, dass die Datenübertragung im Internet (z .B. wenn Sie uns eine E-Mail schreiben) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist generell nicht möglich.&lt;br /&gt;
&lt;br /&gt;
UMFANG DER VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten personenbezogene Daten unserer Nutzer grundsätzlich nur, soweit dies für die Funktion der Website und die Bereitstellung der Inhalte und angebotenen Leistungen erforderlich ist. Die Verarbeitung personenbezogener Daten unserer Nutzer erfolgt regelmäßig nur nach Einwilligung des Nutzers. Ausnahmen gelten, wenn eine vorherige Einholung einer Einwilligung aus tatsächlichen Gründen nicht möglich ist und die Verarbeitung der Daten durch gesetzliche Vorschriften gestattet ist.&lt;br /&gt;
&lt;br /&gt;
DATENLÖSCHUNG UND SPEICHERDAUER&lt;br /&gt;
&lt;br /&gt;
Die personenbezogenen Daten der betroffenen Person werden gelöscht oder gesperrt, sobald der Zweck der Speicherung entfällt. Eine Speicherung kann darüber hinaus erfolgen, wenn dies durch den europäischen oder nationalen Gesetzgeber in unionsrechtlichen Verordnungen, Gesetzen oder sonstigen Vorschriften, denen der Verantwortliche unterliegt, vorgesehen wurde. Eine Sperrung oder Löschung der Daten erfolgt auch dann, wenn eine durch die genannten Normen vorgeschriebene Speicherfrist abläuft, es sei denn, dass eine Erforderlichkeit zur weiteren Speicherung der Daten für einen Vertragsabschluss oder eine Vertragserfüllung besteht.&lt;br /&gt;
&lt;br /&gt;
BEREITSTELLUNG DER WEBSITE UND ERSTELLUNG VON LOGFILES&lt;br /&gt;
&lt;br /&gt;
Bei jedem Aufruf unserer Internetseite erfasst unser System automatisiert Daten und Informationen vom Computersystem des aufrufenden Rechners. Folgende Daten werden hierbei erhoben:&lt;br /&gt;
&lt;br /&gt;
Informationen über den Browsertyp und die verwendete Version&lt;br /&gt;
Das Betriebssystem des Nutzers&lt;br /&gt;
Den Internet-Service-Provider des Nutzers&lt;br /&gt;
Die IP-Adresse des Nutzers&lt;br /&gt;
Datum und Uhrzeit des Zugriffs&lt;br /&gt;
Websites, von denen das System des Nutzers auf unsere Internetseite gelangt&lt;br /&gt;
Websites, die vom System des Nutzers über unsere Website aufgerufen werden&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. IP-Adressen werden im Logfile teilanonymisiert gespeichert, ihnen fehlt dadurch das Merkmal der Personenbezogenheit. Es werden keine Daten gespeichert, die eine Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die vorübergehende Speicherung der Daten ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die vorübergehende Speicherung der IP-Adresse durch das System ist notwendig, um eine Auslieferung der Website an den Rechner des Nutzers zu ermöglichen. Hierfür muss die IP-Adresse des Nutzers für die Dauer der Sitzung gespeichert bleiben.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Im Falle der Erfassung der Daten zur Bereitstellung der Website ist dies der Fall, wenn die jeweilige Sitzung beendet ist. Widerspruchs- und Beseitigungsmöglichkeit Die Erfassung der Daten zur Bereitstellung der Website und die Speicherung der Daten in Logfiles ist für den Betrieb der Internetseite zwingend erforderlich. Es besteht folglich seitens des Nutzers keine Widerspruchsmöglichkeit.&lt;br /&gt;
&lt;br /&gt;
ERSTELLUNG DER ZUGRIFFSSTATISTIK&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet Webalizer. Bei diesem Produkt handelt es sich um einen Web-Analyse-Dienst, der Daten über das Verhalten von Besuchern von Webseiten erhebt, sammelt und auswertet. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Webseite eine betroffene Person auf eine Webseite gekommen ist (wenn die Person zuvor einen Link geklickt hat), auf welche Unterseiten der Webseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde.&lt;br /&gt;
&lt;br /&gt;
Der Zweck der Verwendung ist die Auswertung der Nutzung von Webseiten zur Verbesserung des Angebots und der Bedienung. Durch die Auswertung kann in Erfahrung gebracht werden, wie die jeweilige Website genutzt wird und so das Angebot der Webseite stetig optimiert werden. Die auf diese Weise zu Analysezwecken erhoben Daten der Nutzer werden durch technische Vorkehrungen anonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert. In diesen Zwecken liegt auch das berechtigte Interesse des Webseitenbetreibers in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 Buchstabe f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Der Dienst speichert die verarbeiteten Daten für 190 Tage.&lt;br /&gt;
&lt;br /&gt;
Der Dienst nutzt keine Cookies, sondern verarbeiten ausschließlich die Daten des Logfiles (siehe Erstellung von Logfiles). IP-Adressen werden im Logfile teilanonymisiert gespeichert, ihnen fehlt darum das Merkmal der Personenbezogenheit.&lt;br /&gt;
&lt;br /&gt;
VERWENDUNG VON COOKIES&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite verwendet Cookies. Bei Cookies handelt es sich um Textdateien, die im Internetbrowser bzw. vom Internetbrowser auf dem Computersystem des Nutzers gespeichert werden. Dieser Cookie enthält eine charakteristische Zeichenfolge. Dadurch können wir den Browser beim erneuten Aufrufen der Website wiedererkennen. Durch den Einsatz von Cookies können wir unsere Website nutzerfreundlicher gestalten. Einige Elemente unserer Internetseite erfordern es, dass der aufrufende Browser auch nach einem Seitenwechsel identifiziert werden kann.&lt;br /&gt;
&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die durch technisch notwendige Cookies erhobenen Nutzerdaten werden nicht zur Erstellung von Nutzerprofilen verwendet. &lt;br /&gt;
&lt;br /&gt;
KONTAKTFORMULAR UND E-MAIL KONTAKT&lt;br /&gt;
&lt;br /&gt;
Auf unserer Website können Sie Kontaktformulare zur elektronische Kontaktaufnahme nutzen.&lt;br /&gt;
&lt;br /&gt;
Nehmen Sie diese Möglichkeit wahr, so werden die von Ihnen in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich.&lt;br /&gt;
&lt;br /&gt;
In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet.&lt;br /&gt;
&lt;br /&gt;
Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten. Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist.&lt;br /&gt;
&lt;br /&gt;
Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist.&lt;br /&gt;
&lt;br /&gt;
AUSKUNFT, BERICHTIGUNG UND LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
== Assistent Entwurf ==&lt;br /&gt;
https://www.ldi.nrw.de/mainmenu_Datenschutz/submenu_Datenschutzbeauftragte/Inhalt/Betriebliche_Datenschutzbeauftragte/Inhalt/Check/Check.php&lt;br /&gt;
&lt;br /&gt;
=== Check ===&lt;br /&gt;
&lt;br /&gt;
== Zusatzinfos ==&lt;br /&gt;
=== Was sind personenbezogene Daten ? ===&lt;br /&gt;
&lt;br /&gt;
== Anschreiben Textblöcke ==&lt;br /&gt;
=== Haftungsausschluss ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hinweis zu Datenschutz und Impressumsrelevanten Texten&lt;br /&gt;
Stephan Schlegel Geo-bit Reutlingen kann und darf keine Rechtsberatung geben.&lt;br /&gt;
Wir sind keine Anwaltskanzlei, sondern eine Webagentur. Deshalb dürfen wir keine Rechtsberatung leisten. &lt;br /&gt;
Gerne versorgen wir Sie mit Informationen, z.B. im Zusammenhang mit der Datenschutz-Grundverordnung oder der Impressumspflicht, die für Sie als Website-Betreiber relevant sind. Auf Ihren Wunsch erstellen wir gerne auch Inhalte für den Datenschutz-Hinweis oder das Impressum, die nach unserem Kenntnisstand und unserer Erfahrung erforderlich und ausreichend sind. Sie sind jedoch letztendlich allein für den Inhalt ihrer Website verantwortlich. Für rechtssichere Aussagen und konforme Texte sollten Sie sich daher an legitimierte Anbieter für Rechtsberatung wenden.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mustertexte ===&lt;br /&gt;
 [[Datenschutz - Mustertexte]]&lt;br /&gt;
&lt;br /&gt;
== Mustertexte - englisch ==&lt;br /&gt;
=== Links ===&lt;br /&gt;
 https://termsfeed.com/wizard/privacy-policy (Mehrsprachiger Generator / Kostenpflichtig for business)&lt;br /&gt;
 https://www.smartinsights.com/marketplace-analysis/digital-marketing-laws/gdpr-example-privacy-policies-and-consent-forms/&lt;br /&gt;
 https://termsfeed.com/blog/sample-privacy-policy-template/&lt;br /&gt;
=== Begriffe ===&lt;br /&gt;
This agreement can also be known under these names:&lt;br /&gt;
&lt;br /&gt;
 Privacy Statement&lt;br /&gt;
 Privacy Notice&lt;br /&gt;
 Privacy Information&lt;br /&gt;
 Privacy Page&lt;br /&gt;
&lt;br /&gt;
=== Beispiel Solmeke Generator Geopark ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Privacy Policy&lt;br /&gt;
We are very delighted that you have shown interest in our enterprise. Data protection is of a particularly high priority for the management of the Geopark Schwäbische Alb e. V.. The use of the Internet pages of the Geopark Schwäbische Alb e. V. is possible without any indication of personal data; however, if a data subject wants to use special enterprise services via our website, processing of personal data could become necessary. If the processing of personal data is necessary and there is no statutory basis for such processing, we generally obtain consent from the data subject.&lt;br /&gt;
&lt;br /&gt;
The processing of personal data, such as the name, address, e-mail address, or telephone number of a data subject shall always be in line with the General Data Protection Regulation (GDPR), and in accordance with the country-specific data protection regulations applicable to the Geopark Schwäbische Alb e. V.. By means of this data protection declaration, our enterprise would like to inform the general public of the nature, scope, and purpose of the personal data we collect, use and process. Furthermore, data subjects are informed, by means of this data protection declaration, of the rights to which they are entitled.&lt;br /&gt;
&lt;br /&gt;
As the controller, the Geopark Schwäbische Alb e. V. has implemented numerous technical and organizational measures to ensure the most complete protection of personal data processed through this website. However, Internet-based data transmissions may in principle have security gaps, so absolute protection may not be guaranteed. For this reason, every data subject is free to transfer personal data to us via alternative means, e.g. by telephone.&lt;br /&gt;
&lt;br /&gt;
1. Definitions&lt;br /&gt;
The data protection declaration of the Geopark Schwäbische Alb e. V. is based on the terms used by the European legislator for the adoption of the General Data Protection Regulation (GDPR). Our data protection declaration should be legible and understandable for the general public, as well as our customers and business partners. To ensure this, we would like to first explain the terminology used.&lt;br /&gt;
&lt;br /&gt;
In this data protection declaration, we use, inter alia, the following terms:&lt;br /&gt;
&lt;br /&gt;
a)    Personal data&lt;br /&gt;
Personal data means any information relating to an identified or identifiable natural person (“data subject”). An identifiable natural person is one who can be identified, directly or indirectly, in particular by reference to an identifier such as a name, an identification number, location data, an online identifier or to one or more factors specific to the physical, physiological, genetic, mental, economic, cultural or social identity of that natural person.&lt;br /&gt;
&lt;br /&gt;
b) Data subject&lt;br /&gt;
Data subject is any identified or identifiable natural person, whose personal data is processed by the controller responsible for the processing.&lt;br /&gt;
&lt;br /&gt;
c)    Processing&lt;br /&gt;
Processing is any operation or set of operations which is performed on personal data or on sets of personal data, whether or not by automated means, such as collection, recording, organisation, structuring, storage, adaptation or alteration, retrieval, consultation, use, disclosure by transmission, dissemination or otherwise making available, alignment or combination, restriction, erasure or destruction.&lt;br /&gt;
&lt;br /&gt;
d)    Restriction of processing&lt;br /&gt;
Restriction of processing is the marking of stored personal data with the aim of limiting their processing in the future.&lt;br /&gt;
&lt;br /&gt;
e)    Profiling&lt;br /&gt;
Profiling means any form of automated processing of personal data consisting of the use of personal data to evaluate certain personal aspects relating to a natural person, in particular to analyse or predict aspects concerning that natural person&amp;#039;s performance at work, economic situation, health, personal preferences, interests, reliability, behaviour, location or movements.&lt;br /&gt;
&lt;br /&gt;
f)     Pseudonymisation&lt;br /&gt;
Pseudonymisation is the processing of personal data in such a manner that the personal data can no longer be attributed to a specific data subject without the use of additional information, provided that such additional information is kept separately and is subject to technical and organisational measures to ensure that the personal data are not attributed to an identified or identifiable natural person.&lt;br /&gt;
&lt;br /&gt;
g)    Controller or controller responsible for the processing&lt;br /&gt;
Controller or controller responsible for the processing is the natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of personal data; where the purposes and means of such processing are determined by Union or Member State law, the controller or the specific criteria for its nomination may be provided for by Union or Member State law.&lt;br /&gt;
&lt;br /&gt;
h)    Processor&lt;br /&gt;
Processor is a natural or legal person, public authority, agency or other body which processes personal data on behalf of the controller.&lt;br /&gt;
&lt;br /&gt;
i)      Recipient&lt;br /&gt;
Recipient is a natural or legal person, public authority, agency or another body, to which the personal data are disclosed, whether a third party or not. However, public authorities which may receive personal data in the framework of a particular inquiry in accordance with Union or Member State law shall not be regarded as recipients; the processing of those data by those public authorities shall be in compliance with the applicable data protection rules according to the purposes of the processing.&lt;br /&gt;
&lt;br /&gt;
j)      Third party&lt;br /&gt;
Third party is a natural or legal person, public authority, agency or body other than the data subject, controller, processor and persons who, under the direct authority of the controller or processor, are authorised to process personal data.&lt;br /&gt;
&lt;br /&gt;
k)    Consent&lt;br /&gt;
Consent of the data subject is any freely given, specific, informed and unambiguous indication of the data subject&amp;#039;s wishes by which he or she, by a statement or by a clear affirmative action, signifies agreement to the processing of personal data relating to him or her.&lt;br /&gt;
&lt;br /&gt;
2. Name and Address of the controller&lt;br /&gt;
Controller for the purposes of the General Data Protection Regulation (GDPR), other data protection laws applicable in Member states of the European Union and other provisions related to data protection is:&lt;br /&gt;
&lt;br /&gt;
Geopark Schwäbische Alb e. V.&lt;br /&gt;
&lt;br /&gt;
Marktstr. 17&lt;br /&gt;
&lt;br /&gt;
89601 Schelklingen&lt;br /&gt;
&lt;br /&gt;
Germany&lt;br /&gt;
&lt;br /&gt;
Phone: 07394 248 70&lt;br /&gt;
&lt;br /&gt;
Email: info@geopark-alb.de&lt;br /&gt;
&lt;br /&gt;
Website: geopark-alb.de&lt;br /&gt;
&lt;br /&gt;
3. Cookies&lt;br /&gt;
The Internet pages of the Geopark Schwäbische Alb e. V. use cookies. Cookies are text files that are stored in a computer system via an Internet browser.&lt;br /&gt;
&lt;br /&gt;
Many Internet sites and servers use cookies. Many cookies contain a so-called cookie ID. A cookie ID is a unique identifier of the cookie. It consists of a character string through which Internet pages and servers can be assigned to the specific Internet browser in which the cookie was stored. This allows visited Internet sites and servers to differentiate the individual browser of the dats subject from other Internet browsers that contain other cookies. A specific Internet browser can be recognized and identified using the unique cookie ID.&lt;br /&gt;
&lt;br /&gt;
Through the use of cookies, the Geopark Schwäbische Alb e. V. can provide the users of this website with more user-friendly services that would not be possible without the cookie setting.&lt;br /&gt;
&lt;br /&gt;
By means of a cookie, the information and offers on our website can be optimized with the user in mind. Cookies allow us, as previously mentioned, to recognize our website users. The purpose of this recognition is to make it easier for users to utilize our website. The website user that uses cookies, e.g. does not have to enter access data each time the website is accessed, because this is taken over by the website, and the cookie is thus stored on the user&amp;#039;s computer system. Another example is the cookie of a shopping cart in an online shop. The online store remembers the articles that a customer has placed in the virtual shopping cart via a cookie.&lt;br /&gt;
&lt;br /&gt;
The data subject may, at any time, prevent the setting of cookies through our website by means of a corresponding setting of the Internet browser used, and may thus permanently deny the setting of cookies. Furthermore, already set cookies may be deleted at any time via an Internet browser or other software programs. This is possible in all popular Internet browsers. If the data subject deactivates the setting of cookies in the Internet browser used, not all functions of our website may be entirely usable.&lt;br /&gt;
&lt;br /&gt;
4. Collection of general data and information&lt;br /&gt;
The website of the Geopark Schwäbische Alb e. V. collects a series of general data and information when a data subject or automated system calls up the website. This general data and information are stored in the server log files. Collected may be (1) the browser types and versions used, (2) the operating system used by the accessing system, (3) the website from which an accessing system reaches our website (so-called referrers), (4) the sub-websites, (5) the date and time of access to the Internet site, (6) an Internet protocol address (IP address), (7) the Internet service provider of the accessing system, and (8) any other similar data and information that may be used in the event of attacks on our information technology systems.&lt;br /&gt;
&lt;br /&gt;
When using these general data and information, the Geopark Schwäbische Alb e. V. does not draw any conclusions about the data subject. Rather, this information is needed to (1) deliver the content of our website correctly, (2) optimize the content of our website as well as its advertisement, (3) ensure the long-term viability of our information technology systems and website technology, and (4) provide law enforcement authorities with the information necessary for criminal prosecution in case of a cyber-attack. Therefore, the Geopark Schwäbische Alb e. V. analyzes anonymously collected data and information statistically, with the aim of increasing the data protection and data security of our enterprise, and to ensure an optimal level of protection for the personal data we process. The anonymous data of the server log files are stored separately from all personal data provided by a data subject.&lt;br /&gt;
&lt;br /&gt;
5. Registration on our website&lt;br /&gt;
The data subject has the possibility to register on the website of the controller with the indication of personal data. Which personal data are transmitted to the controller is determined by the respective input mask used for the registration. The personal data entered by the data subject are collected and stored exclusively for internal use by the controller, and for his own purposes. The controller may request transfer to one or more processors (e.g. a parcel service) that also uses personal data for an internal purpose which is attributable to the controller.&lt;br /&gt;
&lt;br /&gt;
By registering on the website of the controller, the IP address—assigned by the Internet service provider (ISP) and used by the data subject—date, and time of the registration are also stored. The storage of this data takes place against the background that this is the only way to prevent the misuse of our services, and, if necessary, to make it possible to investigate committed offenses. Insofar, the storage of this data is necessary to secure the controller. This data is not passed on to third parties unless there is a statutory obligation to pass on the data, or if the transfer serves the aim of criminal prosecution.&lt;br /&gt;
&lt;br /&gt;
The registration of the data subject, with the voluntary indication of personal data, is intended to enable the controller to offer the data subject contents or services that may only be offered to registered users due to the nature of the matter in question. Registered persons are free to change the personal data specified during the registration at any time, or to have them completely deleted from the data stock of the controller.&lt;br /&gt;
&lt;br /&gt;
The data controller shall, at any time, provide information upon request to each data subject as to what personal data are stored about the data subject. In addition, the data controller shall correct or erase personal data at the request or indication of the data subject, insofar as there are no statutory storage obligations. The entirety of the controller’s employees are available to the data subject in this respect as contact persons.&lt;br /&gt;
&lt;br /&gt;
6. Contact possibility via the website&lt;br /&gt;
The website of the Geopark Schwäbische Alb e. V. contains information that enables a quick electronic contact to our enterprise, as well as direct communication with us, which also includes a general address of the so-called electronic mail (e-mail address). If a data subject contacts the controller by e-mail or via a contact form, the personal data transmitted by the data subject are automatically stored. Such personal data transmitted on a voluntary basis by a data subject to the data controller are stored for the purpose of processing or contacting the data subject. There is no transfer of this personal data to third parties.&lt;br /&gt;
&lt;br /&gt;
7. Routine erasure and blocking of personal data&lt;br /&gt;
The data controller shall process and store the personal data of the data subject only for the period necessary to achieve the purpose of storage, or as far as this is granted by the European legislator or other legislators in laws or regulations to which the controller is subject to.&lt;br /&gt;
&lt;br /&gt;
If the storage purpose is not applicable, or if a storage period prescribed by the European legislator or another competent legislator expires, the personal data are routinely blocked or erased in accordance with legal requirements.&lt;br /&gt;
&lt;br /&gt;
8. Rights of the data subject&lt;br /&gt;
a) Right of confirmation&lt;br /&gt;
Each data subject shall have the right granted by the European legislator to obtain from the controller the confirmation as to whether or not personal data concerning him or her are being processed. If a data subject wishes to avail himself of this right of confirmation, he or she may, at any time, contact any employee of the controller.&lt;br /&gt;
&lt;br /&gt;
b) Right of access&lt;br /&gt;
Each data subject shall have the right granted by the European legislator to obtain from the controller free information about his or her personal data stored at any time and a copy of this information. Furthermore, the European directives and regulations grant the data subject access to the following information:&lt;br /&gt;
&lt;br /&gt;
the purposes of the processing;&lt;br /&gt;
the categories of personal data concerned;&lt;br /&gt;
the recipients or categories of recipients to whom the personal data have been or will be disclosed, in particular recipients in third countries or international organisations;&lt;br /&gt;
where possible, the envisaged period for which the personal data will be stored, or, if not possible, the criteria used to determine that period;&lt;br /&gt;
the existence of the right to request from the controller rectification or erasure of personal data, or restriction of processing of personal data concerning the data subject, or to object to such processing;&lt;br /&gt;
the existence of the right to lodge a complaint with a supervisory authority;&lt;br /&gt;
where the personal data are not collected from the data subject, any available information as to their source;&lt;br /&gt;
the existence of automated decision-making, including profiling, referred to in Article 22(1) and (4) of the GDPR and, at least in those cases, meaningful information about the logic involved, as well as the significance and envisaged consequences of such processing for the data subject.&lt;br /&gt;
Furthermore, the data subject shall have a right to obtain information as to whether personal data are transferred to a third country or to an international organisation. Where this is the case, the data subject shall have the right to be informed of the appropriate safeguards relating to the transfer.&lt;br /&gt;
&lt;br /&gt;
If a data subject wishes to avail himself of this right of access, he or she may, at any time, contact any employee of the controller.&lt;br /&gt;
&lt;br /&gt;
c) Right to rectification&lt;br /&gt;
Each data subject shall have the right granted by the European legislator to obtain from the controller without undue delay the rectification of inaccurate personal data concerning him or her. Taking into account the purposes of the processing, the data subject shall have the right to have incomplete personal data completed, including by means of providing a supplementary statement.&lt;br /&gt;
&lt;br /&gt;
If a data subject wishes to exercise this right to rectification, he or she may, at any time, contact any employee of the controller.&lt;br /&gt;
&lt;br /&gt;
d) Right to erasure (Right to be forgotten)&lt;br /&gt;
Each data subject shall have the right granted by the European legislator to obtain from the controller the erasure of personal data concerning him or her without undue delay, and the controller shall have the obligation to erase personal data without undue delay where one of the following grounds applies, as long as the processing is not necessary:&lt;br /&gt;
&lt;br /&gt;
The personal data are no longer necessary in relation to the purposes for which they were collected or otherwise processed.&lt;br /&gt;
The data subject withdraws consent to which the processing is based according to point (a) of Article 6(1) of the GDPR, or point (a) of Article 9(2) of the GDPR, and where there is no other legal ground for the processing.&lt;br /&gt;
The data subject objects to the processing pursuant to Article 21(1) of the GDPR and there are no overriding legitimate grounds for the processing, or the data subject objects to the processing pursuant to Article 21(2) of the GDPR.&lt;br /&gt;
The personal data have been unlawfully processed.&lt;br /&gt;
The personal data must be erased for compliance with a legal obligation in Union or Member State law to which the controller is subject.&lt;br /&gt;
The personal data have been collected in relation to the offer of information society services referred to in Article 8(1) of the GDPR.&lt;br /&gt;
If one of the aforementioned reasons applies, and a data subject wishes to request the erasure of personal data stored by the Geopark Schwäbische Alb e. V., he or she may, at any time, contact any employee of the controller. An employee of Geopark Schwäbische Alb e. V. shall promptly ensure that the erasure request is complied with immediately.&lt;br /&gt;
&lt;br /&gt;
Where the controller has made personal data public and is obliged pursuant to Article 17(1) to erase the personal data, the controller, taking account of available technology and the cost of implementation, shall take reasonable steps, including technical measures, to inform other controllers processing the personal data that the data subject has requested erasure by such controllers of any links to, or copy or replication of, those personal data, as far as processing is not required. An employees of the Geopark Schwäbische Alb e. V. will arrange the necessary measures in individual cases.&lt;br /&gt;
&lt;br /&gt;
e) Right of restriction of processing&lt;br /&gt;
Each data subject shall have the right granted by the European legislator to obtain from the controller restriction of processing where one of the following applies:&lt;br /&gt;
&lt;br /&gt;
The accuracy of the personal data is contested by the data subject, for a period enabling the controller to verify the accuracy of the personal data.&lt;br /&gt;
The processing is unlawful and the data subject opposes the erasure of the personal data and requests instead the restriction of their use instead.&lt;br /&gt;
The controller no longer needs the personal data for the purposes of the processing, but they are required by the data subject for the establishment, exercise or defence of legal claims.&lt;br /&gt;
The data subject has objected to processing pursuant to Article 21(1) of the GDPR pending the verification whether the legitimate grounds of the controller override those of the data subject.&lt;br /&gt;
If one of the aforementioned conditions is met, and a data subject wishes to request the restriction of the processing of personal data stored by the Geopark Schwäbische Alb e. V., he or she may at any time contact any employee of the controller. The employee of the Geopark Schwäbische Alb e. V. will arrange the restriction of the processing.&lt;br /&gt;
&lt;br /&gt;
f) Right to data portability&lt;br /&gt;
Each data subject shall have the right granted by the European legislator, to receive the personal data concerning him or her, which was provided to a controller, in a structured, commonly used and machine-readable format. He or she shall have the right to transmit those data to another controller without hindrance from the controller to which the personal data have been provided, as long as the processing is based on consent pursuant to point (a) of Article 6(1) of the GDPR or point (a) of Article 9(2) of the GDPR, or on a contract pursuant to point (b) of Article 6(1) of the GDPR, and the processing is carried out by automated means, as long as the processing is not necessary for the performance of a task carried out in the public interest or in the exercise of official authority vested in the controller.&lt;br /&gt;
&lt;br /&gt;
Furthermore, in exercising his or her right to data portability pursuant to Article 20(1) of the GDPR, the data subject shall have the right to have personal data transmitted directly from one controller to another, where technically feasible and when doing so does not adversely affect the rights and freedoms of others.&lt;br /&gt;
&lt;br /&gt;
In order to assert the right to data portability, the data subject may at any time contact any employee of the Geopark Schwäbische Alb e. V..&lt;br /&gt;
&lt;br /&gt;
g) Right to object&lt;br /&gt;
Each data subject shall have the right granted by the European legislator to object, on grounds relating to his or her particular situation, at any time, to processing of personal data concerning him or her, which is based on point (e) or (f) of Article 6(1) of the GDPR. This also applies to profiling based on these provisions.&lt;br /&gt;
&lt;br /&gt;
The Geopark Schwäbische Alb e. V. shall no longer process the personal data in the event of the objection, unless we can demonstrate compelling legitimate grounds for the processing which override the interests, rights and freedoms of the data subject, or for the establishment, exercise or defence of legal claims.&lt;br /&gt;
&lt;br /&gt;
If the Geopark Schwäbische Alb e. V. processes personal data for direct marketing purposes, the data subject shall have the right to object at any time to processing of personal data concerning him or her for such marketing. This applies to profiling to the extent that it is related to such direct marketing. If the data subject objects to the Geopark Schwäbische Alb e. V. to the processing for direct marketing purposes, the Geopark Schwäbische Alb e. V. will no longer process the personal data for these purposes.&lt;br /&gt;
&lt;br /&gt;
In addition, the data subject has the right, on grounds relating to his or her particular situation, to object to processing of personal data concerning him or her by the Geopark Schwäbische Alb e. V. for scientific or historical research purposes, or for statistical purposes pursuant to Article 89(1) of the GDPR, unless the processing is necessary for the performance of a task carried out for reasons of public interest.&lt;br /&gt;
&lt;br /&gt;
In order to exercise the right to object, the data subject may contact any employee of the Geopark Schwäbische Alb e. V.. In addition, the data subject is free in the context of the use of information society services, and notwithstanding Directive 2002/58/EC, to use his or her right to object by automated means using technical specifications.&lt;br /&gt;
&lt;br /&gt;
h) Automated individual decision-making, including profiling&lt;br /&gt;
Each data subject shall have the right granted by the European legislator not to be subject to a decision based solely on automated processing, including profiling, which produces legal effects concerning him or her, or similarly significantly affects him or her, as long as the decision (1) is not is necessary for entering into, or the performance of, a contract between the data subject and a data controller, or (2) is not authorised by Union or Member State law to which the controller is subject and which also lays down suitable measures to safeguard the data subject&amp;#039;s rights and freedoms and legitimate interests, or (3) is not based on the data subject&amp;#039;s explicit consent.&lt;br /&gt;
&lt;br /&gt;
If the decision (1) is necessary for entering into, or the performance of, a contract between the data subject and a data controller, or (2) it is based on the data subject&amp;#039;s explicit consent, the Geopark Schwäbische Alb e. V. shall implement suitable measures to safeguard the data subject&amp;#039;s rights and freedoms and legitimate interests, at least the right to obtain human intervention on the part of the controller, to express his or her point of view and contest the decision.&lt;br /&gt;
&lt;br /&gt;
If the data subject wishes to exercise the rights concerning automated individual decision-making, he or she may, at any time, contact any employee of the Geopark Schwäbische Alb e. V..&lt;br /&gt;
&lt;br /&gt;
i) Right to withdraw data protection consent&lt;br /&gt;
Each data subject shall have the right granted by the European legislator to withdraw his or her consent to processing of his or her personal data at any time.&lt;br /&gt;
&lt;br /&gt;
If the data subject wishes to exercise the right to withdraw the consent, he or she may, at any time, contact any employee of the Geopark Schwäbische Alb e. V..&lt;br /&gt;
&lt;br /&gt;
9. Legal basis for the processing&lt;br /&gt;
Art. 6(1) lit. a GDPR serves as the legal basis for processing operations for which we obtain consent for a specific processing purpose. If the processing of personal data is necessary for the performance of a contract to which the data subject is party, as is the case, for example, when processing operations are necessary for the supply of goods or to provide any other service, the processing is based on Article 6(1) lit. b GDPR. The same applies to such processing operations which are necessary for carrying out pre-contractual measures, for example in the case of inquiries concerning our products or services. Is our company subject to a legal obligation by which processing of personal data is required, such as for the fulfillment of tax obligations, the processing is based on Art. 6(1) lit. c GDPR. In rare cases, the processing of personal data may be necessary to protect the vital interests of the data subject or of another natural person. This would be the case, for example, if a visitor were injured in our company and his name, age, health insurance data or other vital information would have to be passed on to a doctor, hospital or other third party. Then the processing would be based on Art. 6(1) lit. d GDPR. Finally, processing operations could be based on Article 6(1) lit. f GDPR. This legal basis is used for processing operations which are not covered by any of the abovementioned legal grounds, if processing is necessary for the purposes of the legitimate interests pursued by our company or by a third party, except where such interests are overridden by the interests or fundamental rights and freedoms of the data subject which require protection of personal data. Such processing operations are particularly permissible because they have been specifically mentioned by the European legislator. He considered that a legitimate interest could be assumed if the data subject is a client of the controller (Recital 47 Sentence 2 GDPR).&lt;br /&gt;
&lt;br /&gt;
10. The legitimate interests pursued by the controller or by a third party&lt;br /&gt;
Where the processing of personal data is based on Article 6(1) lit. f GDPR our legitimate interest is to carry out our business in favor of the well-being of all our employees and the shareholders.&lt;br /&gt;
&lt;br /&gt;
11. Period for which the personal data will be stored&lt;br /&gt;
The criteria used to determine the period of storage of personal data is the respective statutory retention period. After expiration of that period, the corresponding data is routinely deleted, as long as it is no longer necessary for the fulfillment of the contract or the initiation of a contract.&lt;br /&gt;
&lt;br /&gt;
12. Provision of personal data as statutory or contractual requirement; Requirement necessary to enter into a contract; Obligation of the data subject to provide the personal data; possible consequences of failure to provide such data&lt;br /&gt;
We clarify that the provision of personal data is partly required by law (e.g. tax regulations) or can also result from contractual provisions (e.g. information on the contractual partner). Sometimes it may be necessary to conclude a contract that the data subject provides us with personal data, which must subsequently be processed by us. The data subject is, for example, obliged to provide us with personal data when our company signs a contract with him or her. The non-provision of the personal data would have the consequence that the contract with the data subject could not be concluded. Before personal data is provided by the data subject, the data subject must contact any employee. The employee clarifies to the data subject whether the provision of the personal data is required by law or contract or is necessary for the conclusion of the contract, whether there is an obligation to provide the personal data and the consequences of non-provision of the personal data.&lt;br /&gt;
&lt;br /&gt;
13. Existence of automated decision-making&lt;br /&gt;
As a responsible company, we do not use automatic decision-making or profiling.&lt;br /&gt;
&lt;br /&gt;
This Privacy Policy has been generated by the Privacy Policy Generator of the DGD - Your External DPO that was developed in cooperation with German Lawyers from WILDE BEUGER SOLMECKE, Cologne.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beispiel Solmecke mit Google Analytics ===&lt;br /&gt;
Hinweis über https://dsgvo-muster-datenschutzerklaerung.dg-datenschutz.de gibts (Anfang 2021) noch die englische Variante.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Privacy Policy&lt;br /&gt;
&lt;br /&gt;
We are very delighted that you have shown interest in our enterprise. Data protection is of a particularly high priority for the management of the info@dojatec-vub.de. The use of the Internet pages of the info@dojatec-vub.de is possible without any indication of personal data; however, if a data subject wants to use special enterprise services via our website, processing of personal data could become necessary. If the processing of personal data is necessary and there is no statutory basis for such processing, we generally obtain consent from the data subject.&lt;br /&gt;
&lt;br /&gt;
The processing of personal data, such as the name, address, e-mail address, or telephone number of a data subject shall always be in line with the General Data Protection Regulation (GDPR), and in accordance with the country-specific data protection regulations applicable to the info@dojatec-vub.de. By means of this data protection declaration, our enterprise would like to inform the general public of the nature, scope, and purpose of the personal data we collect, use and process. Furthermore, data subjects are informed, by means of this data protection declaration, of the rights to which they are entitled.&lt;br /&gt;
&lt;br /&gt;
As the controller, the info@dojatec-vub.de has implemented numerous technical and organizational measures to ensure the most complete protection of personal data processed through this website. However, Internet-based data transmissions may in principle have security gaps, so absolute protection may not be guaranteed. For this reason, every data subject is free to transfer personal data to us via alternative means, e.g. by telephone.&lt;br /&gt;
1. Definitions&lt;br /&gt;
&lt;br /&gt;
The data protection declaration of the info@dojatec-vub.de is based on the terms used by the European legislator for the adoption of the General Data Protection Regulation (GDPR). Our data protection declaration should be legible and understandable for the general public, as well as our customers and business partners. To ensure this, we would like to first explain the terminology used.&lt;br /&gt;
&lt;br /&gt;
In this data protection declaration, we use, inter alia, the following terms:&lt;br /&gt;
&lt;br /&gt;
    a)    Personal data&lt;br /&gt;
&lt;br /&gt;
    Personal data means any information relating to an identified or identifiable natural person (“data subject”). An identifiable natural person is one who can be identified, directly or indirectly, in particular by reference to an identifier such as a name, an identification number, location data, an online identifier or to one or more factors specific to the physical, physiological, genetic, mental, economic, cultural or social identity of that natural person.&lt;br /&gt;
    b) Data subject&lt;br /&gt;
&lt;br /&gt;
    Data subject is any identified or identifiable natural person, whose personal data is processed by the controller responsible for the processing.&lt;br /&gt;
    c)    Processing&lt;br /&gt;
&lt;br /&gt;
    Processing is any operation or set of operations which is performed on personal data or on sets of personal data, whether or not by automated means, such as collection, recording, organisation, structuring, storage, adaptation or alteration, retrieval, consultation, use, disclosure by transmission, dissemination or otherwise making available, alignment or combination, restriction, erasure or destruction.&lt;br /&gt;
    d)    Restriction of processing&lt;br /&gt;
&lt;br /&gt;
    Restriction of processing is the marking of stored personal data with the aim of limiting their processing in the future.&lt;br /&gt;
    e)    Profiling&lt;br /&gt;
&lt;br /&gt;
    Profiling means any form of automated processing of personal data consisting of the use of personal data to evaluate certain personal aspects relating to a natural person, in particular to analyse or predict aspects concerning that natural person&amp;#039;s performance at work, economic situation, health, personal preferences, interests, reliability, behaviour, location or movements.&lt;br /&gt;
    f)     Pseudonymisation&lt;br /&gt;
&lt;br /&gt;
    Pseudonymisation is the processing of personal data in such a manner that the personal data can no longer be attributed to a specific data subject without the use of additional information, provided that such additional information is kept separately and is subject to technical and organisational measures to ensure that the personal data are not attributed to an identified or identifiable natural person.&lt;br /&gt;
    g)    Controller or controller responsible for the processing&lt;br /&gt;
&lt;br /&gt;
    Controller or controller responsible for the processing is the natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of personal data; where the purposes and means of such processing are determined by Union or Member State law, the controller or the specific criteria for its nomination may be provided for by Union or Member State law.&lt;br /&gt;
    h)    Processor&lt;br /&gt;
&lt;br /&gt;
    Processor is a natural or legal person, public authority, agency or other body which processes personal data on behalf of the controller.&lt;br /&gt;
    i)      Recipient&lt;br /&gt;
&lt;br /&gt;
    Recipient is a natural or legal person, public authority, agency or another body, to which the personal data are disclosed, whether a third party or not. However, public authorities which may receive personal data in the framework of a particular inquiry in accordance with Union or Member State law shall not be regarded as recipients; the processing of those data by those public authorities shall be in compliance with the applicable data protection rules according to the purposes of the processing.&lt;br /&gt;
    j)      Third party&lt;br /&gt;
&lt;br /&gt;
    Third party is a natural or legal person, public authority, agency or body other than the data subject, controller, processor and persons who, under the direct authority of the controller or processor, are authorised to process personal data.&lt;br /&gt;
    k)    Consent&lt;br /&gt;
&lt;br /&gt;
    Consent of the data subject is any freely given, specific, informed and unambiguous indication of the data subject&amp;#039;s wishes by which he or she, by a statement or by a clear affirmative action, signifies agreement to the processing of personal data relating to him or her.&lt;br /&gt;
&lt;br /&gt;
2. Name and Address of the controller&lt;br /&gt;
&lt;br /&gt;
Controller for the purposes of the General Data Protection Regulation (GDPR), other data protection laws applicable in Member states of the European Union and other provisions related to data protection is:&lt;br /&gt;
&lt;br /&gt;
info@dojatec-vub.de&lt;br /&gt;
&lt;br /&gt;
Schillerstraße 20&lt;br /&gt;
&lt;br /&gt;
72144 Dusslingen&lt;br /&gt;
&lt;br /&gt;
Deutschland&lt;br /&gt;
&lt;br /&gt;
Phone: 07072 / 9293-0&lt;br /&gt;
&lt;br /&gt;
Email: dealer@stephanschlegel.de&lt;br /&gt;
&lt;br /&gt;
Website: dojatec.de&lt;br /&gt;
3. Cookies&lt;br /&gt;
&lt;br /&gt;
The Internet pages of the info@dojatec-vub.de use cookies. Cookies are text files that are stored in a computer system via an Internet browser.&lt;br /&gt;
&lt;br /&gt;
Many Internet sites and servers use cookies. Many cookies contain a so-called cookie ID. A cookie ID is a unique identifier of the cookie. It consists of a character string through which Internet pages and servers can be assigned to the specific Internet browser in which the cookie was stored. This allows visited Internet sites and servers to differentiate the individual browser of the dats subject from other Internet browsers that contain other cookies. A specific Internet browser can be recognized and identified using the unique cookie ID.&lt;br /&gt;
&lt;br /&gt;
Through the use of cookies, the info@dojatec-vub.de can provide the users of this website with more user-friendly services that would not be possible without the cookie setting.&lt;br /&gt;
&lt;br /&gt;
By means of a cookie, the information and offers on our website can be optimized with the user in mind. Cookies allow us, as previously mentioned, to recognize our website users. The purpose of this recognition is to make it easier for users to utilize our website. The website user that uses cookies, e.g. does not have to enter access data each time the website is accessed, because this is taken over by the website, and the cookie is thus stored on the user&amp;#039;s computer system. Another example is the cookie of a shopping cart in an online shop. The online store remembers the articles that a customer has placed in the virtual shopping cart via a cookie.&lt;br /&gt;
&lt;br /&gt;
The data subject may, at any time, prevent the setting of cookies through our website by means of a corresponding setting of the Internet browser used, and may thus permanently deny the setting of cookies. Furthermore, already set cookies may be deleted at any time via an Internet browser or other software programs. This is possible in all popular Internet browsers. If the data subject deactivates the setting of cookies in the Internet browser used, not all functions of our website may be entirely usable.&lt;br /&gt;
4. Collection of general data and information&lt;br /&gt;
&lt;br /&gt;
The website of the info@dojatec-vub.de collects a series of general data and information when a data subject or automated system calls up the website. This general data and information are stored in the server log files. Collected may be (1) the browser types and versions used, (2) the operating system used by the accessing system, (3) the website from which an accessing system reaches our website (so-called referrers), (4) the sub-websites, (5) the date and time of access to the Internet site, (6) an Internet protocol address (IP address), (7) the Internet service provider of the accessing system, and (8) any other similar data and information that may be used in the event of attacks on our information technology systems.&lt;br /&gt;
&lt;br /&gt;
When using these general data and information, the info@dojatec-vub.de does not draw any conclusions about the data subject. Rather, this information is needed to (1) deliver the content of our website correctly, (2) optimize the content of our website as well as its advertisement, (3) ensure the long-term viability of our information technology systems and website technology, and (4) provide law enforcement authorities with the information necessary for criminal prosecution in case of a cyber-attack. Therefore, the info@dojatec-vub.de analyzes anonymously collected data and information statistically, with the aim of increasing the data protection and data security of our enterprise, and to ensure an optimal level of protection for the personal data we process. The anonymous data of the server log files are stored separately from all personal data provided by a data subject.&lt;br /&gt;
5. Contact possibility via the website&lt;br /&gt;
&lt;br /&gt;
The website of the info@dojatec-vub.de contains information that enables a quick electronic contact to our enterprise, as well as direct communication with us, which also includes a general address of the so-called electronic mail (e-mail address). If a data subject contacts the controller by e-mail or via a contact form, the personal data transmitted by the data subject are automatically stored. Such personal data transmitted on a voluntary basis by a data subject to the data controller are stored for the purpose of processing or contacting the data subject. There is no transfer of this personal data to third parties.&lt;br /&gt;
6. Routine erasure and blocking of personal data&lt;br /&gt;
&lt;br /&gt;
The data controller shall process and store the personal data of the data subject only for the period necessary to achieve the purpose of storage, or as far as this is granted by the European legislator or other legislators in laws or regulations to which the controller is subject to.&lt;br /&gt;
&lt;br /&gt;
If the storage purpose is not applicable, or if a storage period prescribed by the European legislator or another competent legislator expires, the personal data are routinely blocked or erased in accordance with legal requirements.&lt;br /&gt;
7. Rights of the data subject&lt;br /&gt;
&lt;br /&gt;
    a) Right of confirmation&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator to obtain from the controller the confirmation as to whether or not personal data concerning him or her are being processed. If a data subject wishes to avail himself of this right of confirmation, he or she may, at any time, contact any employee of the controller.&lt;br /&gt;
    b) Right of access&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator to obtain from the controller free information about his or her personal data stored at any time and a copy of this information. Furthermore, the European directives and regulations grant the data subject access to the following information:&lt;br /&gt;
        the purposes of the processing;&lt;br /&gt;
        the categories of personal data concerned;&lt;br /&gt;
        the recipients or categories of recipients to whom the personal data have been or will be disclosed, in particular recipients in third countries or international organisations;&lt;br /&gt;
        where possible, the envisaged period for which the personal data will be stored, or, if not possible, the criteria used to determine that period;&lt;br /&gt;
        the existence of the right to request from the controller rectification or erasure of personal data, or restriction of processing of personal data concerning the data subject, or to object to such processing;&lt;br /&gt;
        the existence of the right to lodge a complaint with a supervisory authority;&lt;br /&gt;
        where the personal data are not collected from the data subject, any available information as to their source;&lt;br /&gt;
        the existence of automated decision-making, including profiling, referred to in Article 22(1) and (4) of the GDPR and, at least in those cases, meaningful information about the logic involved, as well as the significance and envisaged consequences of such processing for the data subject.&lt;br /&gt;
&lt;br /&gt;
    Furthermore, the data subject shall have a right to obtain information as to whether personal data are transferred to a third country or to an international organisation. Where this is the case, the data subject shall have the right to be informed of the appropriate safeguards relating to the transfer.&lt;br /&gt;
&lt;br /&gt;
    If a data subject wishes to avail himself of this right of access, he or she may, at any time, contact any employee of the controller.&lt;br /&gt;
    c) Right to rectification&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator to obtain from the controller without undue delay the rectification of inaccurate personal data concerning him or her. Taking into account the purposes of the processing, the data subject shall have the right to have incomplete personal data completed, including by means of providing a supplementary statement.&lt;br /&gt;
&lt;br /&gt;
    If a data subject wishes to exercise this right to rectification, he or she may, at any time, contact any employee of the controller.&lt;br /&gt;
    d) Right to erasure (Right to be forgotten)&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator to obtain from the controller the erasure of personal data concerning him or her without undue delay, and the controller shall have the obligation to erase personal data without undue delay where one of the following grounds applies, as long as the processing is not necessary:&lt;br /&gt;
        The personal data are no longer necessary in relation to the purposes for which they were collected or otherwise processed.&lt;br /&gt;
        The data subject withdraws consent to which the processing is based according to point (a) of Article 6(1) of the GDPR, or point (a) of Article 9(2) of the GDPR, and where there is no other legal ground for the processing.&lt;br /&gt;
        The data subject objects to the processing pursuant to Article 21(1) of the GDPR and there are no overriding legitimate grounds for the processing, or the data subject objects to the processing pursuant to Article 21(2) of the GDPR.&lt;br /&gt;
        The personal data have been unlawfully processed.&lt;br /&gt;
        The personal data must be erased for compliance with a legal obligation in Union or Member State law to which the controller is subject.&lt;br /&gt;
        The personal data have been collected in relation to the offer of information society services referred to in Article 8(1) of the GDPR.&lt;br /&gt;
&lt;br /&gt;
    If one of the aforementioned reasons applies, and a data subject wishes to request the erasure of personal data stored by the info@dojatec-vub.de, he or she may, at any time, contact any employee of the controller. An employee of info@dojatec-vub.de shall promptly ensure that the erasure request is complied with immediately.&lt;br /&gt;
&lt;br /&gt;
    Where the controller has made personal data public and is obliged pursuant to Article 17(1) to erase the personal data, the controller, taking account of available technology and the cost of implementation, shall take reasonable steps, including technical measures, to inform other controllers processing the personal data that the data subject has requested erasure by such controllers of any links to, or copy or replication of, those personal data, as far as processing is not required. An employees of the info@dojatec-vub.de will arrange the necessary measures in individual cases.&lt;br /&gt;
    e) Right of restriction of processing&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator to obtain from the controller restriction of processing where one of the following applies:&lt;br /&gt;
        The accuracy of the personal data is contested by the data subject, for a period enabling the controller to verify the accuracy of the personal data.&lt;br /&gt;
        The processing is unlawful and the data subject opposes the erasure of the personal data and requests instead the restriction of their use instead.&lt;br /&gt;
        The controller no longer needs the personal data for the purposes of the processing, but they are required by the data subject for the establishment, exercise or defence of legal claims.&lt;br /&gt;
        The data subject has objected to processing pursuant to Article 21(1) of the GDPR pending the verification whether the legitimate grounds of the controller override those of the data subject.&lt;br /&gt;
&lt;br /&gt;
    If one of the aforementioned conditions is met, and a data subject wishes to request the restriction of the processing of personal data stored by the info@dojatec-vub.de, he or she may at any time contact any employee of the controller. The employee of the info@dojatec-vub.de will arrange the restriction of the processing.&lt;br /&gt;
    f) Right to data portability&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator, to receive the personal data concerning him or her, which was provided to a controller, in a structured, commonly used and machine-readable format. He or she shall have the right to transmit those data to another controller without hindrance from the controller to which the personal data have been provided, as long as the processing is based on consent pursuant to point (a) of Article 6(1) of the GDPR or point (a) of Article 9(2) of the GDPR, or on a contract pursuant to point (b) of Article 6(1) of the GDPR, and the processing is carried out by automated means, as long as the processing is not necessary for the performance of a task carried out in the public interest or in the exercise of official authority vested in the controller.&lt;br /&gt;
&lt;br /&gt;
    Furthermore, in exercising his or her right to data portability pursuant to Article 20(1) of the GDPR, the data subject shall have the right to have personal data transmitted directly from one controller to another, where technically feasible and when doing so does not adversely affect the rights and freedoms of others.&lt;br /&gt;
&lt;br /&gt;
    In order to assert the right to data portability, the data subject may at any time contact any employee of the info@dojatec-vub.de.&lt;br /&gt;
    g) Right to object&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator to object, on grounds relating to his or her particular situation, at any time, to processing of personal data concerning him or her, which is based on point (e) or (f) of Article 6(1) of the GDPR. This also applies to profiling based on these provisions.&lt;br /&gt;
&lt;br /&gt;
    The info@dojatec-vub.de shall no longer process the personal data in the event of the objection, unless we can demonstrate compelling legitimate grounds for the processing which override the interests, rights and freedoms of the data subject, or for the establishment, exercise or defence of legal claims.&lt;br /&gt;
&lt;br /&gt;
    If the info@dojatec-vub.de processes personal data for direct marketing purposes, the data subject shall have the right to object at any time to processing of personal data concerning him or her for such marketing. This applies to profiling to the extent that it is related to such direct marketing. If the data subject objects to the info@dojatec-vub.de to the processing for direct marketing purposes, the info@dojatec-vub.de will no longer process the personal data for these purposes.&lt;br /&gt;
&lt;br /&gt;
    In addition, the data subject has the right, on grounds relating to his or her particular situation, to object to processing of personal data concerning him or her by the info@dojatec-vub.de for scientific or historical research purposes, or for statistical purposes pursuant to Article 89(1) of the GDPR, unless the processing is necessary for the performance of a task carried out for reasons of public interest.&lt;br /&gt;
&lt;br /&gt;
    In order to exercise the right to object, the data subject may contact any employee of the info@dojatec-vub.de. In addition, the data subject is free in the context of the use of information society services, and notwithstanding Directive 2002/58/EC, to use his or her right to object by automated means using technical specifications.&lt;br /&gt;
    h) Automated individual decision-making, including profiling&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator not to be subject to a decision based solely on automated processing, including profiling, which produces legal effects concerning him or her, or similarly significantly affects him or her, as long as the decision (1) is not is necessary for entering into, or the performance of, a contract between the data subject and a data controller, or (2) is not authorised by Union or Member State law to which the controller is subject and which also lays down suitable measures to safeguard the data subject&amp;#039;s rights and freedoms and legitimate interests, or (3) is not based on the data subject&amp;#039;s explicit consent.&lt;br /&gt;
&lt;br /&gt;
    If the decision (1) is necessary for entering into, or the performance of, a contract between the data subject and a data controller, or (2) it is based on the data subject&amp;#039;s explicit consent, the info@dojatec-vub.de shall implement suitable measures to safeguard the data subject&amp;#039;s rights and freedoms and legitimate interests, at least the right to obtain human intervention on the part of the controller, to express his or her point of view and contest the decision.&lt;br /&gt;
&lt;br /&gt;
    If the data subject wishes to exercise the rights concerning automated individual decision-making, he or she may, at any time, contact any employee of the info@dojatec-vub.de.&lt;br /&gt;
    i) Right to withdraw data protection consent&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator to withdraw his or her consent to processing of his or her personal data at any time.&lt;br /&gt;
&lt;br /&gt;
    If the data subject wishes to exercise the right to withdraw the consent, he or she may, at any time, contact any employee of the info@dojatec-vub.de.&lt;br /&gt;
&lt;br /&gt;
8. Data protection for applications and the application procedures&lt;br /&gt;
&lt;br /&gt;
The data controller shall collect and process the personal data of applicants for the purpose of the processing of the application procedure. The processing may also be carried out electronically. This is the case, in particular, if an applicant submits corresponding application documents by e-mail or by means of a web form on the website to the controller. If the data controller concludes an employment contract with an applicant, the submitted data will be stored for the purpose of processing the employment relationship in compliance with legal requirements. If no employment contract is concluded with the applicant by the controller, the application documents shall be automatically erased two months after notification of the refusal decision, provided that no other legitimate interests of the controller are opposed to the erasure. Other legitimate interest in this relation is, e.g. a burden of proof in a procedure under the General Equal Treatment Act (AGG).&lt;br /&gt;
9. Data protection provisions about the application and use of Google Analytics (with anonymization function)&lt;br /&gt;
&lt;br /&gt;
On this website, the controller has integrated the component of Google Analytics (with the anonymizer function). Google Analytics is a web analytics service. Web analytics is the collection, gathering, and analysis of data about the behavior of visitors to websites. A web analysis service collects, inter alia, data about the website from which a person has come (the so-called referrer), which sub-pages were visited, or how often and for what duration a sub-page was viewed. Web analytics are mainly used for the optimization of a website and in order to carry out a cost-benefit analysis of Internet advertising.&lt;br /&gt;
&lt;br /&gt;
The operator of the Google Analytics component is Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&lt;br /&gt;
&lt;br /&gt;
For the web analytics through Google Analytics the controller uses the application &amp;quot;_gat. _anonymizeIp&amp;quot;. By means of this application the IP address of the Internet connection of the data subject is abridged by Google and anonymised when accessing our websites from a Member State of the European Union or another Contracting State to the Agreement on the European Economic Area.&lt;br /&gt;
&lt;br /&gt;
The purpose of the Google Analytics component is to analyze the traffic on our website. Google uses the collected data and information, inter alia, to evaluate the use of our website and to provide online reports, which show the activities on our websites, and to provide other services concerning the use of our Internet site for us.&lt;br /&gt;
&lt;br /&gt;
Google Analytics places a cookie on the information technology system of the data subject. The definition of cookies is explained above. With the setting of the cookie, Google is enabled to analyze the use of our website. With each call-up to one of the individual pages of this Internet site, which is operated by the controller and into which a Google Analytics component was integrated, the Internet browser on the information technology system of the data subject will automatically submit data through the Google Analytics component for the purpose of online advertising and the settlement of commissions to Google. During the course of this technical procedure, the enterprise Google gains knowledge of personal information, such as the IP address of the data subject, which serves Google, inter alia, to understand the origin of visitors and clicks, and subsequently create commission settlements.&lt;br /&gt;
&lt;br /&gt;
The cookie is used to store personal information, such as the access time, the location from which the access was made, and the frequency of visits of our website by the data subject. With each visit to our Internet site, such personal data, including the IP address of the Internet access used by the data subject, will be transmitted to Google in the United States of America. These personal data are stored by Google in the United States of America. Google may pass these personal data collected through the technical procedure to third parties.&lt;br /&gt;
&lt;br /&gt;
The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Google Analytics from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Google Analytics may be deleted at any time via a web browser or other software programs.&lt;br /&gt;
&lt;br /&gt;
In addition, the data subject has the possibility of objecting to a collection of data that are generated by Google Analytics, which is related to the use of this website, as well as the processing of this data by Google and the chance to preclude any such. For this purpose, the data subject must download a browser add-on under the link https://tools.google.com/dlpage/gaoptout and install it. This browser add-on tells Google Analytics through a JavaScript, that any data and information about the visits of Internet pages may not be transmitted to Google Analytics. The installation of the browser add-ons is considered an objection by Google. If the information technology system of the data subject is later deleted, formatted, or newly installed, then the data subject must reinstall the browser add-ons to disable Google Analytics. If the browser add-on was uninstalled by the data subject or any other person who is attributable to their sphere of competence, or is disabled, it is possible to execute the reinstallation or reactivation of the browser add-ons.&lt;br /&gt;
&lt;br /&gt;
Further information and the applicable data protection provisions of Google may be retrieved under https://www.google.com/intl/en/policies/privacy/ and under http://www.google.com/analytics/terms/us.html. Google Analytics is further explained under the following Link https://www.google.com/analytics/.&lt;br /&gt;
10. Data protection provisions about the application and use of Instagram&lt;br /&gt;
&lt;br /&gt;
On this website, the controller has integrated components of the service Instagram. Instagram is a service that may be qualified as an audiovisual platform, which allows users to share photos and videos, as well as disseminate such data in other social networks.&lt;br /&gt;
&lt;br /&gt;
The operating company of the services offered by Instagram is Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2 Ireland.&lt;br /&gt;
&lt;br /&gt;
With each call-up to one of the individual pages of this Internet site, which is operated by the controller and on which an Instagram component (Insta button) was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to the download of a display of the corresponding Instagram component of Instagram. During the course of this technical procedure, Instagram becomes aware of what specific sub-page of our website was visited by the data subject.&lt;br /&gt;
&lt;br /&gt;
If the data subject is logged in at the same time on Instagram, Instagram detects with every call-up to our website by the data subject—and for the entire duration of their stay on our Internet site—which specific sub-page of our Internet page was visited by the data subject. This information is collected through the Instagram component and is associated with the respective Instagram account of the data subject. If the data subject clicks on one of the Instagram buttons integrated on our website, then Instagram matches this information with the personal Instagram user account of the data subject and stores the personal data.&lt;br /&gt;
&lt;br /&gt;
Instagram receives information via the Instagram component that the data subject has visited our website provided that the data subject is logged in at Instagram at the time of the call to our website. This occurs regardless of whether the person clicks on the Instagram button or not. If such a transmission of information to Instagram is not desirable for the data subject, then he or she can prevent this by logging off from their Instagram account before a call-up to our website is made.&lt;br /&gt;
&lt;br /&gt;
Further information and the applicable data protection provisions of Instagram may be retrieved under https://help.instagram.com/155833707900388 and https://www.instagram.com/about/legal/privacy/.&lt;br /&gt;
11. Legal basis for the processing&lt;br /&gt;
&lt;br /&gt;
Art. 6(1) lit. a GDPR serves as the legal basis for processing operations for which we obtain consent for a specific processing purpose. If the processing of personal data is necessary for the performance of a contract to which the data subject is party, as is the case, for example, when processing operations are necessary for the supply of goods or to provide any other service, the processing is based on Article 6(1) lit. b GDPR. The same applies to such processing operations which are necessary for carrying out pre-contractual measures, for example in the case of inquiries concerning our products or services. Is our company subject to a legal obligation by which processing of personal data is required, such as for the fulfillment of tax obligations, the processing is based on Art. 6(1) lit. c GDPR. In rare cases, the processing of personal data may be necessary to protect the vital interests of the data subject or of another natural person. This would be the case, for example, if a visitor were injured in our company and his name, age, health insurance data or other vital information would have to be passed on to a doctor, hospital or other third party. Then the processing would be based on Art. 6(1) lit. d GDPR. Finally, processing operations could be based on Article 6(1) lit. f GDPR. This legal basis is used for processing operations which are not covered by any of the abovementioned legal grounds, if processing is necessary for the purposes of the legitimate interests pursued by our company or by a third party, except where such interests are overridden by the interests or fundamental rights and freedoms of the data subject which require protection of personal data. Such processing operations are particularly permissible because they have been specifically mentioned by the European legislator. He considered that a legitimate interest could be assumed if the data subject is a client of the controller (Recital 47 Sentence 2 GDPR).&lt;br /&gt;
12. The legitimate interests pursued by the controller or by a third party&lt;br /&gt;
&lt;br /&gt;
Where the processing of personal data is based on Article 6(1) lit. f GDPR our legitimate interest is to carry out our business in favor of the well-being of all our employees and the shareholders.&lt;br /&gt;
13. Period for which the personal data will be stored&lt;br /&gt;
&lt;br /&gt;
The criteria used to determine the period of storage of personal data is the respective statutory retention period. After expiration of that period, the corresponding data is routinely deleted, as long as it is no longer necessary for the fulfillment of the contract or the initiation of a contract.&lt;br /&gt;
14. Provision of personal data as statutory or contractual requirement; Requirement necessary to enter into a contract; Obligation of the data subject to provide the personal data; possible consequences of failure to provide such data&lt;br /&gt;
&lt;br /&gt;
We clarify that the provision of personal data is partly required by law (e.g. tax regulations) or can also result from contractual provisions (e.g. information on the contractual partner). Sometimes it may be necessary to conclude a contract that the data subject provides us with personal data, which must subsequently be processed by us. The data subject is, for example, obliged to provide us with personal data when our company signs a contract with him or her. The non-provision of the personal data would have the consequence that the contract with the data subject could not be concluded. Before personal data is provided by the data subject, the data subject must contact any employee. The employee clarifies to the data subject whether the provision of the personal data is required by law or contract or is necessary for the conclusion of the contract, whether there is an obligation to provide the personal data and the consequences of non-provision of the personal data.&lt;br /&gt;
15. Existence of automated decision-making&lt;br /&gt;
&lt;br /&gt;
As a responsible company, we do not use automatic decision-making or profiling.&lt;br /&gt;
&lt;br /&gt;
This Privacy Policy has been generated by the Privacy Policy Generator of the DGD - Your External DPO that was developed in cooperation with German Lawyers from WILDE BEUGER SOLMECKE, Cologne.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Beispiel AA Group ===&lt;br /&gt;
Quelle: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Background&lt;br /&gt;
This privacy notice lets you know what happens to any personal data that you give to us, or any that we may collect from or about you. It applies to all products and services, and instances where we collect your personal data.&lt;br /&gt;
&lt;br /&gt;
This privacy notice applies to personal information processed by or on behalf of The AA Group.&lt;br /&gt;
&lt;br /&gt;
For AA DriveTech, please refer to the following separate privacy notice:&lt;br /&gt;
&lt;br /&gt;
AA DriveTech privacy policy&lt;br /&gt;
&lt;br /&gt;
Use the links below to find out more about how we use your personal information:&lt;br /&gt;
&lt;br /&gt;
Who are we and how do you contact us and our Data Protection Officer?&lt;br /&gt;
What kinds of personal information about you do we process?&lt;br /&gt;
What is the source of your personal information?&lt;br /&gt;
What are the legal grounds for our processing of your personal information (including when we share it with others)?&lt;br /&gt;
What should you do if your personal information changes?&lt;br /&gt;
For how long is your personal information retained by us?&lt;br /&gt;
What are your rights under data protection laws?&lt;br /&gt;
How can you opt out of marketing communications?&lt;br /&gt;
Changes to this privacy notice&lt;br /&gt;
&lt;br /&gt;
We may change this privacy notice from time to time by updating this page in order to reflect changes in the law and/or our privacy practices. We encourage you to check this privacy notice for changes whenever you visit our website – https://www.theaa.com/.&lt;br /&gt;
&lt;br /&gt;
The AA plc and our Data Protection Officer&lt;br /&gt;
&lt;br /&gt;
We’re the AA PLC, Fanum House, Basing View, Basingstoke, Hampshire, RG21 4EA. We are a data controller of your personal data. If you have a product or service with us, the AA company or companies which provide that product or service is the data controller and they are named in your product or service terms and conditions (usually at the start). The AA Group of companies means AA PLC, together with any entity in which AA PLC directly or indirectly has at least a 50% shareholding and where we act in support of the AA Charitable Trust for Road Safety and the Environment.&lt;br /&gt;
&lt;br /&gt;
We have a dedicated data protection officer (“DPO”). You can contact the DPO using the details below or by writing to the above address, marking it for the attention of the DPO or going to Contact Us.&lt;br /&gt;
&lt;br /&gt;
2. What kinds of personal information about you do we process?&lt;br /&gt;
Personal information that we’ll process in connection with all of our products and services, if relevant, includes:&lt;br /&gt;
&lt;br /&gt;
Personal and contact details, such as title, full name, contact details and contact details history&lt;br /&gt;
Your date of birth, gender and/or age&lt;br /&gt;
Your nationality, if needed for the product or service&lt;br /&gt;
Details of beneficiaries, such as joint policy holders, named drivers, beneficiaries of our products or services&lt;br /&gt;
Family members (if relevant to the product or service)&lt;br /&gt;
Records of your contact with us such as via the phone number of our breakdown service and, if you get in touch with us online using our online services or via our smartphone app, details such as your mobile phone location data, IP address and MAC address&lt;br /&gt;
Products and services you hold with us, as well as have been interested in and have held and the associated payment methods used&lt;br /&gt;
The usage of our products and services, any call outs and claims and whether those claims were paid out or not (and details related to this)&lt;br /&gt;
Marketing to you and analysing data, including history of those communications, whether you open them or click on links, and information about products or services we think you may be interested in, and analysing data to help target offers to you that we think are of interest or relevance to you. Offers may include our car, insurance, financial services, connected car, travel and any of our other products and services&lt;br /&gt;
Vehicle information, such as make and model, faults, repairs and repair costs. Offers may include our car, insurance, financial services, connected car, travel and any of our other products and services&lt;br /&gt;
Telematics and driving information about your vehicle (including assessing and predicting faults or issues), driving style (including recommending improvements and assessing risk associated with your driving style), location and routes taken (for example, if you have Car Genie)&lt;br /&gt;
Driving school assessment, including feedback and analysis of your instructor&lt;br /&gt;
Information about your use of products or services held with our business partners, such as insurance policies, mortgage, savings or financial services and products&lt;br /&gt;
Information we obtained from third parties, including information about insurance risk, pricing, claims history, instances of suspect fraud and usage history&lt;br /&gt;
Personal information which we obtain from Credit Reference Agencies and Fraud Prevention Agencies (see the section on ‘Fraud Prevention Agencies’ below), including public (for example, defaults, CCJs) and shared credit history, financial situation and financial history&lt;br /&gt;
Fraud, debt and theft information, including details of money you owe, suspected instances of fraud or theft, and details of any devices used for fraud&lt;br /&gt;
Criminal records information, including alleged offences, for example if you apply for car insurance&lt;br /&gt;
Information about your health or if you are a vulnerable customer&lt;br /&gt;
Information about your property, such as location, value, number of rooms, property type and building work you’ve had done&lt;br /&gt;
Financial details about you, such as your salary and details of other income, details of your savings, details of your expenditure, and payment method(s)&lt;br /&gt;
Details about all of your existing borrowings and loans, if relevant&lt;br /&gt;
Information about your employment status, if relevant&lt;br /&gt;
Information about your property occupier status, such as whether you are a tenant, live with parents or are an owner occupier of the property where you live at the time of your application&lt;br /&gt;
Your residency and/or citizenship status, if relevant, such as your nationality, your length of residency in the UK and/or whether you have the permanent right to reside in UK&lt;br /&gt;
Your marital status, family, lifestyle or social circumstances, if relevant to the product (for example, the number of dependents you have or if you are a widow or widower)&lt;br /&gt;
Information we buy or rent from third parties, including demographic information, vehicle details, details of outstanding finance, vehicle claims history, marketing lists, publicly available information, and information to help improve the relevance of our products and services&lt;br /&gt;
Insights about you and our customers gained from analysis or profiling of customers&lt;br /&gt;
Where relevant, information about any guarantor which you provide in any application&lt;br /&gt;
Third party transactions; such as where a person other than the account holder uses the service, information about that person and the transaction&lt;br /&gt;
Tax information, if relevant (for example, for savings accounts)&lt;br /&gt;
3. What is the source of your personal information?&lt;br /&gt;
We’ll collect personal information from the following general sources:&lt;br /&gt;
&lt;br /&gt;
From you directly, and any information from family members, associates or beneficiaries of products and services&lt;br /&gt;
Information generated about you when you use our products and services&lt;br /&gt;
From a broker or other intermediary (for example, comparison site) who we work with to provide products or services or quote to you&lt;br /&gt;
AA Group companies if you already have a product with them, have applied for one or have held a one previously&lt;br /&gt;
Business partners (for example, financial services institutions, insurers), account beneficiaries, or others who are a part of providing your products and services or operating our business&lt;br /&gt;
From other sources such as Fraud Prevention Agencies, Credit Reference Agencies, other lenders, HMRC, DWP, publically available directories and information (for example, telephone directory, social media, internet, news articles), debt recovery and/or tracing agents, other organisations to assist in prevention and detection of crime, police and law enforcement agencies&lt;br /&gt;
We buy or rent information about you or customers generally from third parties including demographic information, vehicle details, claims history, fraud information, marketing lists, publicly available information and other information to help improve our products and services or our business&lt;br /&gt;
4. What do we use your personal data for?&lt;br /&gt;
We use your personal data, including any of the personal data listed in section 1 above, for the following purposes:&lt;br /&gt;
&lt;br /&gt;
Assessing an application for a product or service, including considering whether or not to offer you the product or service, the price, the risk of doing so, availability of payment method and the terms&lt;br /&gt;
Managing the product or service you have with us&lt;br /&gt;
Updating your records, tracing your whereabouts and recovering debt&lt;br /&gt;
Managing any aspect of the product or service&lt;br /&gt;
To make automated decisions on whether to offer you a product or service, or the price, payment method, risk or terms of it&lt;br /&gt;
To perform and/or test the performance of, our products, services and internal processes&lt;br /&gt;
To improve the operation of our business and that of our business partners&lt;br /&gt;
To follow guidance and best practice under the change to rules of governmental and regulatory bodies&lt;br /&gt;
For management and auditing of our business operations including accounting&lt;br /&gt;
To carry out checks at Credit Reference and Fraud Prevention Agencies pre-application, at application, and periodically after that&lt;br /&gt;
To monitor and to keep records of our communications with you and our staff (see below)&lt;br /&gt;
To administer our good governance requirements and those of other members of our AA Group, such as internal reporting and compliance obligations or administration required for Annual General Meeting (“AGM”) processes&lt;br /&gt;
For market research and analysis and developing statistics&lt;br /&gt;
Assessing and profiling aspects of your vehicle (including faults), driving style (including recommending improvements), location and routes taken (if relevant to your product or service)&lt;br /&gt;
For direct marketing communications and related profiling to help us to offer you relevant products and service, including deciding whether or not to offer you certain products and service. We’ll send marketing to you by SMS, email, phone, post, social media and digital channels (for example, using Facebook Custom Audiences and Google Custom Match). Offers may relate to any of our products and services such as cars, roadside assistance, money and financial services, insurance, travel, member offers (&amp;quot;Member Benefits&amp;quot;) as well as to any other offers and advice we think may be of interest&lt;br /&gt;
To provide personalised content and services to you, such as tailoring our products and services, our digital customer experience and offerings, and deciding which offers or promotions to show you on our digital channels&lt;br /&gt;
To develop new products and services and to review and improve current products and services&lt;br /&gt;
To comply with legal and regulatory obligations, requirements and guidance&lt;br /&gt;
To provide insight and analysis of our customers both for ourselves and for the benefit of business partners either as part of providing products or services, helping us improve products or services, or to assess or improve the operating of our businesses&lt;br /&gt;
To share information, as needed, with business partners (for example, financial services institutions, insurers), account beneficiaries, service providers or as part of providing and administering our products and services or operating our business&lt;br /&gt;
To facilitate the sale of one or more parts of our business&lt;br /&gt;
To enable other AA Group companies to perform any of the above purposes &lt;br /&gt;
To process any donations made to the AA Charitable Trust&lt;br /&gt;
5. What are the legal grounds for our processing of your personal information (including when we share it with others)?&lt;br /&gt;
We rely on the following legal bases to use your personal data:&lt;br /&gt;
&lt;br /&gt;
Where it is needed to provide you with our products or services, such as:&lt;br /&gt;
a) Assessing an application for a product or service you hold with us, including consider whether or not to offer you the product, the price, the payment methods available and the conditions to attach&lt;br /&gt;
b) Managing products and services you hold with us, or an application for one&lt;br /&gt;
c) Updating your records, tracing your whereabouts to contact you about your account and doing this for recovering debt (where appropriate)&lt;br /&gt;
d) Sharing your personal information with business partners and services providers when you apply for a product to help manage your product&lt;br /&gt;
e) All stages and activities relevant to managing the product or service including enquiry, application, administration and management of accounts, illustrations, requests for transfers of equity, setting up/changing/removing guarantors&lt;br /&gt;
f) For some of our profiling and other automated decision making to decide whether to offer you a product and/or service, particular payment method and the price or terms of this&lt;br /&gt;
&lt;br /&gt;
Where it is in our legitimate interests to do so, such as:&lt;br /&gt;
a) Managing your products and services relating to that, updating your records, tracing your whereabouts to contact you about your account and doing this for recovering debt (where appropriate)&lt;br /&gt;
b) To perform and/or test the performance of, our products, services and internal processes&lt;br /&gt;
c) To follow guidance and recommended best practice of government and regulatory bodies&lt;br /&gt;
d) For management and audit of our business operations including accounting&lt;br /&gt;
e) To carry out searches at Credit Reference Agencies pre-application, at the application stage, and periodically after that. Where you have been introduced to us by a broker or other intermediary they may do these searches on our behalf&lt;br /&gt;
f) To carry out monitoring and to keep records of our communications with you and our staff (see below)&lt;br /&gt;
g) To administer our good governance requirements and those of other members of our Group, such as internal reporting and compliance obligations or administration required for AGM processes&lt;br /&gt;
h) For market research and analysis and developing statistics&lt;br /&gt;
i) For direct marketing communications and related profiling to help us to offer you relevant products and services, including deciding whether or not to offer you certain products and service. We will send marketing to you by SMS, email, phone, post and social media and digital channels (for example, using Facebook Custom Audiences and Google Custom Match&lt;br /&gt;
j) Subject to the appropriate controls, to provide insight and analysis of our customers to business partners either as part of providing products or services, helping us improve products or services, or to assess or to improve the operating of our businesses&lt;br /&gt;
k) For some of our profiling and other automated decision making&lt;br /&gt;
l) Where we need to share your personal information with people or organisations in order to run our business or comply with any legal and/or regulatory obligations&lt;br /&gt;
&lt;br /&gt;
To comply with our legal obligations&lt;br /&gt;
With your consent or explicit consent:&lt;br /&gt;
a) For some direct marketing communications&lt;br /&gt;
b) For some of our profiling and other automated decision making&lt;br /&gt;
c) For some of our processing of special categories of personal data such as about your health, if you are a vulnerable customer or some criminal records information&lt;br /&gt;
&lt;br /&gt;
For a public interest, such as:&lt;br /&gt;
a) Processing of your special categories of personal data such as about your health, criminal records information (including alleged offences), or if you are a vulnerable customer&lt;br /&gt;
&lt;br /&gt;
6. When do we share your personal information with other organisations?&lt;br /&gt;
We may share information with the following third parties for the purposes listed above:&lt;br /&gt;
&lt;br /&gt;
AA Group companies and service providers&lt;br /&gt;
Business partners (for example, financial services institutions, insurers), account beneficiaries, or others who are a part of providing your products and services or operating our business including the Bank of Ireland (UK) plc, Northridge NIIB Group Ltd, trading as Northridge Finance and Marshall Leasing Ltd, trading as Marshall Leasing.&lt;br /&gt;
Governmental and regulatory bodies such as HMRC, the Financial Conduct Authority, the Prudential Regulation Authority, the Ombudsman, the Information Commissioner’s Office and under the Financial Services Compensation Scheme&lt;br /&gt;
Other organisations and businesses who provide services to us such as debt recovery agencies, back up and server hosting providers, IT software and maintenance providers, document storage providers and suppliers of other back office functions&lt;br /&gt;
Credit Reference and Fraud Prevention Agencies (see below)&lt;br /&gt;
Market research organisations who help us to develop and improve our products and services&lt;br /&gt;
7. How and when can you withdraw your consent?&lt;br /&gt;
Where we’re relying upon your consent to process personal data, you can withdraw this at any time by contacting us using the details below.&lt;br /&gt;
&lt;br /&gt;
8. Is your personal information transferred outside the UK or the EEA?&lt;br /&gt;
We’re based in the UK but sometimes your personal information may be transferred outside the European Economic Area. If we do so we’ll make sure that suitable safeguards are in place, for example by using approved contractual agreements, unless certain exceptions apply.&lt;br /&gt;
&lt;br /&gt;
9. How do we share your information with credit reference agencies?&lt;br /&gt;
To process your application, we’ll perform credit and identity checks on you with one or more credit reference agencies (CRAs). Where you take insurance, financial or credit services from us we may also make periodic searches at CRAs to manage your account with us. To do this we’ll supply your personal information to CRAs and they will give us information about you. This will include information from your credit application and about your financial situation and financial history. CRAs will supply to us both public (including the electoral register) and shared credit, financial situation and financial history information and fraud prevention information.&lt;br /&gt;
&lt;br /&gt;
We’ll use this information to:&lt;br /&gt;
&lt;br /&gt;
Assess your creditworthiness and whether you can afford to take the product&lt;br /&gt;
Verify the accuracy of the data you have provided to us&lt;br /&gt;
Prevent criminal activity, fraud and money laundering&lt;br /&gt;
Manage your account(s)&lt;br /&gt;
Assess payment methods available to you&lt;br /&gt;
Trace and recover debts&lt;br /&gt;
Make sure any offers provided to you are appropriate to your circumstances&lt;br /&gt;
We’ll continue to exchange information about you with CRAs while you have a relationship with us. We’ll also notify the CRAs about your settled accounts. If you borrow and don’t repay in full and on time, CRAs will record the outstanding debt. This information may be given to other organisations by CRAs. The identities of the CRAs, their role as fraud prevention agencies, the data they hold, the ways in which they use and share personal information, data retention periods and your data protection rights with the CRAs are explained in more detail on our website.&lt;br /&gt;
&lt;br /&gt;
When CRAs receive a search from us they will place a search footprint on your credit file that may be seen by other lenders.&lt;br /&gt;
&lt;br /&gt;
If you’re making a joint application, or tell us that you have a spouse or financial associate, we’ll link your records together, so you should make sure you discuss this with them, and share with them this information, before lodging the application. CRAs will also link your records together and these links will remain on your and their files until such time as you or your partner successfully files for a disassociation with the CRAs to break that link.&lt;br /&gt;
&lt;br /&gt;
10. How do we share your information with Fraud Prevention Agencies?&lt;br /&gt;
There are more details about how credit reference and fraud agencies use your personal data here.&lt;br /&gt;
&lt;br /&gt;
11. What should you do if your personal information changes?&lt;br /&gt;
You should tell us so that we can update our records using the details in the Contact Us section of our website. We’ll then update your records if we can.&lt;br /&gt;
&lt;br /&gt;
12. Do you have to provide your personal information to us?&lt;br /&gt;
We’re unable to provide you with our products or services if you do not provide certain information to us. In cases where providing some personal information is optional, we’ll make this clear.&lt;br /&gt;
&lt;br /&gt;
13. Do we do any monitoring involving processing of your personal information?&lt;br /&gt;
In this section monitoring means any: listening to, recording of, viewing of, intercepting of, or taking and keeping records (as the case may be) of calls, email, text messages, social media messages, in person (face to face) meetings and other communications.&lt;br /&gt;
&lt;br /&gt;
We may monitor where permitted by law and we’ll do this where the law requires it, or to comply with regulatory rules, to prevent or detect crime, in the interests of protecting the security of our communications systems and procedures and for quality control and staff training purposes. This information may be shared for the purposes described above.&lt;br /&gt;
&lt;br /&gt;
14. What about other automated decision making?&lt;br /&gt;
We sometimes make decisions about you using only technology, where none of our employees or any other individuals have been involved. For instance, we may do this to decide: whether to offer you a product or service, to determine the risk of doing so, the price we will offer, whether to offer you credit, what terms and conditions to offer you, assess lending, insurance and business risks, or to assess what payment methods we can offer you. We may also do this using data from other parts of the AA, including product or services details (including usage of them or claims made) and telematics data captured including on your vehicle, driving behaviour and location information.&lt;br /&gt;
&lt;br /&gt;
We’ll do this where it is necessary for entering into or performing the relevant contract, is authorised by laws that apply to us, or is based on your explicit consent.&lt;br /&gt;
&lt;br /&gt;
15. For how long is your personal information retained by us?&lt;br /&gt;
Unless we explain otherwise to you, we’ll hold your personal information based on the following criteria:&lt;br /&gt;
&lt;br /&gt;
For as long as we have reasonable business needs, such as managing our relationship with you and managing our operations&lt;br /&gt;
For as long as we provide goods and/or services to you and then for as long as someone could bring a claim against us; and/or&lt;br /&gt;
Retention periods in line with legal and regulatory requirements or guidance.&lt;br /&gt;
16. What are your rights under data protection laws?&lt;br /&gt;
Here is a list of the rights that all individuals have under data protection laws. They don’t apply in all circumstances. If you wish to use any of them, we’ll explain at that time if they are engaged or not. The right of data portability is only relevant from May 2018.&lt;br /&gt;
&lt;br /&gt;
The right to be informed about the processing of your personal information&lt;br /&gt;
The right to have your personal information corrected if it is inaccurate and to have incomplete personal information completed&lt;br /&gt;
The right to object to processing of your personal information&lt;br /&gt;
The right to restrict processing of your personal information&lt;br /&gt;
The right to have your personal information erased (the “right to be forgotten”)&lt;br /&gt;
The right to request access to your personal information and to obtain information about how we process it&lt;br /&gt;
The right to move, copy or transfer your personal information (“data portability”)&lt;br /&gt;
Rights in relation to automated decision making which has a legal effect or otherwise significantly affects you&lt;br /&gt;
You have the right to complain to the Information Commissioner’s Office which enforces data protection laws: https://ico.org.uk/. You can contact us using the details below.&lt;br /&gt;
&lt;br /&gt;
17. Your right to object&lt;br /&gt;
You have the right to object to certain purposes for processing, in particular to data processed for direct marketing purposes and to data processed for certain reasons based on our legitimate interests. You can contact us by going to the Contact Us section of our website to exercise these rights.&lt;br /&gt;
&lt;br /&gt;
18. What are your marketing preferences and what do they mean?&lt;br /&gt;
We may use your home address, phone numbers, email address and social media or digital channels (for example, Facebook, Google and message facilities in other platforms) to contact you according to your marketing preferences.&lt;br /&gt;
&lt;br /&gt;
You can opt out of any email or text marketing by following the unsubscribe links. If you receive a marketing call from us, you can ask the person who called you to opt you out. You can also write to us at AA PLC, Fanum House, Basing View, Basingstoke, Hampshire, RG21 4EA, marking it for the attention of the DPO. Or send us an email on our Contact Us page - choose ‘Using our services’ and then ‘I want to opt out of marketing messaging’.&lt;br /&gt;
&lt;br /&gt;
Contact Us&lt;br /&gt;
If you have any questions about this privacy notice, or if you wish to exercise your rights or contact the DPO, you can contact us by going to the Contact Us section of our website. Alternatively, you can write to AA PLC, Fanum House, Basing View, Basingstoke, Hampshire, RG21 4EA, marking it for the attention of the DPO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Beispiel Marketing Anfrage Experian ===&lt;br /&gt;
Radiobox statt Checkbox funktioniert oft besser und ist konform.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Would you like to hear from us?By signing up to Experian business marketing communications you will receive the latest research, insight, news and invites to events and webinars. Experian offers a wide range of products and services. We will do our best to send you only communications that we deem to be relevant to you, your job and your business.You can change your mind at any time.&lt;br /&gt;
 Yes - I would like to receive Experian marketing communications&lt;br /&gt;
 No - I do not want to receive Experian marketing communications&lt;br /&gt;
View our privacy policy for details on use and storage of your personal data.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Beispiel - E-Mail Newsletter Tesco ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Marketing communications&lt;br /&gt;
Our customers enjoy receiving special offers, helpful information and money saving coupons by email, text, phone and post.&lt;br /&gt;
So you don&amp;#039;t miss out, simply tick the boxes below&lt;br /&gt;
Remember, you can opt out at any time.&lt;br /&gt;
Tesco Stores (this includes Groceries, Clubcard, Wine by the case, Jack’s and similar goods and services)&lt;br /&gt;
Tesco Bank (by ticking this you are confirming you are over the age of 18)&lt;br /&gt;
Tesco Mobile&lt;br /&gt;
If you&amp;#039;ve already signed up to receive offers and promotions from Tesco Bank or Tesco Mobile, you&amp;#039;ll need to contact them directly to opt out.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Beispiel - Account creation Tesco ===&lt;br /&gt;
Footer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Please make sure you read our terms and conditions opens in new window because you&amp;#039;re agreeing to them by creating a Tesco account. It&amp;#039;s also worth reading our privacy and cookies policy opens in new window so you understand how we collect and use your personal data.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beispiel Formulare ===&lt;br /&gt;
==== Minimal ====&lt;br /&gt;
 By submitting this form, you agree to the Terms o fuse and Privacy of the website&lt;br /&gt;
&lt;br /&gt;
 I want to receive emails about offers and services from xyz&lt;br /&gt;
&lt;br /&gt;
 I consent to my data being stored in line with the privacy policy&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte&amp;diff=25171</id>
		<title>Datenschutz - Mustertexte</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte&amp;diff=25171"/>
		<updated>2021-01-12T11:19:39Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Mustertexte - englisch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Todos ==&lt;br /&gt;
Text f. Bewerbung&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Schön wäre ein Datenschutzhinweis der kurz und Verständlich formuliert ist und eine ausführliche Datenschutzerklärung&lt;br /&gt;
&lt;br /&gt;
== Checkliste - Einzelvorgänge ==&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
==== Verantwortlicher ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NAME UND ANSCHRIFT DES VERANTWORTLICHEN&lt;br /&gt;
Der Verantwortliche im Sinne der Datenschutz-Grundverordnung und anderer nationaler Datenschutzgesetze der Mitgliedsstaaten sowie sonstiger datenschutzrechtlicher Bestimmungen ist:&lt;br /&gt;
&lt;br /&gt;
Musterfirma&lt;br /&gt;
Musterstraße 1&lt;br /&gt;
12345 Musterstadt&lt;br /&gt;
Deutschland&lt;br /&gt;
Tel.: Telefonnummer&lt;br /&gt;
E-Mail: muster@e-mail.de&lt;br /&gt;
Website: www.musterwebsite.de&lt;br /&gt;
&lt;br /&gt;
DATENSCHUTZBEAUFTRAGTER&lt;br /&gt;
&lt;br /&gt;
Der Datenschutzbeauftragte des Verantwortlichen ist:&lt;br /&gt;
&lt;br /&gt;
Max Mustermann &lt;br /&gt;
Musterunternehmen (wenn extern)&lt;br /&gt;
Musterstraße 1&lt;br /&gt;
12345 Musterstadt&lt;br /&gt;
Deutschland&lt;br /&gt;
Tel.: Telefonnummer&lt;br /&gt;
E-Mail: max.mustermann@e-mail.de&lt;br /&gt;
Website: www.musterwebsite.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sie können diese Website in der Regel ohne Angabe personenbezogener Daten nutzen. Soweit wir personenbezogene Daten erfassen (z.B. wenn Sie mit uns in Kontakt treten möchten), erfolgt dies stets gemäß den gesetzlichen Datenschutzvorschriften, sowie dieser Datenschutzerklärung. Ohne ausdrückliche Zustimmung werden Ihre Daten niemals an Dritte weitergegeben.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Verschlüsselte Datenübertragung ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VERSCHLÜSSELTE DATENÜBERTRAGUNG&lt;br /&gt;
&lt;br /&gt;
Auf allen Seiten unseres Internetangebots, auf denen Sie persönliche Daten eingeben - so z. B. in unserem Kontaktformular, werden Ihre Daten direkt bei der Übertragung verschlüsselt. Alle datenschutzrelevanten Informationen (wie Name und Adresse) werden geschützt gespeichert.&lt;br /&gt;
Wir möchten Sie darauf hinweisen, dass die Datenübertragung im Internet (z .B. wenn Sie uns eine E-Mail schreiben) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist generell nicht möglich.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Umfang der Verarbeitung ====&lt;br /&gt;
Quelle Uni Münster (überarbeitet)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UMFANG DER VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten personenbezogene Daten unserer Nutzer grundsätzlich nur, soweit dies für die Funktion der Website und die Bereitstellung der Inhalte und angebotenen Leistungen erforderlich ist. Die Verarbeitung personenbezogener Daten unserer Nutzer erfolgt regelmäßig nur nach Einwilligung des Nutzers. Ausnahmen gelten, wenn eine vorherige Einholung einer Einwilligung aus tatsächlichen Gründen nicht möglich ist und die Verarbeitung der Daten durch gesetzliche Vorschriften gestattet ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Rechtsgrundlage der Verarbeitung====&lt;br /&gt;
Quelle Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RECHTSGRUNDLAGE FÜR DIE VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Soweit wir für Verarbeitungsvorgänge personenbezogener Daten eine Einwilligung der betroffenen Person einholen, dient Art. 6 Abs. 1 lit. a EU-Datenschutzgrundverordnung (DS-GVO) als Rechtsgrundlage.&lt;br /&gt;
Bei der Verarbeitung von personenbezogenen Daten, die zur Erfüllung eines Vertrages, dessen Vertragspartei die betroffene Person ist, erforderlich ist, dient Art. 6 Abs. 1 lit. b DS-GVO als Rechtsgrundlage. Dies gilt auch für Verarbeitungsvorgänge, die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind.&lt;br /&gt;
Soweit eine Verarbeitung personenbezogener Daten zur Erfüllung einer rechtlichen Verpflichtung erforderlich ist, der unser Unternehmen unterliegt, dient Art. 6 Abs. 1 lit. c DS-GVO als Rechtsgrundlage.&lt;br /&gt;
Für den Fall, dass lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person eine Verarbeitung personenbezogener Daten erforderlich machen, dient Art. 6 Abs. 1 lit. d DS-GVO als Rechtsgrundlage.&lt;br /&gt;
Ist die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich und überwiegen die Interessen, Grundrechte und Grundfreiheiten des Betroffenen das erstgenannte Interesse nicht, so dient Art. 6 Abs. 1 lit. f DS-GVO als Rechtsgrundlage für die Verarbeitung. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Datenlöschung und Speicherdauer ====&lt;br /&gt;
Quelle Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATENLÖSCHUNG UND SPEICHERDAUER&lt;br /&gt;
&lt;br /&gt;
Die personenbezogenen Daten der betroffenen Person werden gelöscht oder gesperrt, sobald der Zweck der Speicherung entfällt. Eine Speicherung kann darüber hinaus erfolgen, wenn dies durch den europäischen oder nationalen Gesetzgeber in unionsrechtlichen Verordnungen, Gesetzen oder sonstigen Vorschriften, denen der Verantwortliche unterliegt, vorgesehen wurde. Eine Sperrung oder Löschung der Daten erfolgt auch dann, wenn eine durch die genannten Normen vorgeschriebene Speicherfrist abläuft, es sei denn, dass eine Erforderlichkeit zur weiteren Speicherung der Daten für einen Vertragsabschluss oder eine Vertragserfüllung besteht.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bereitstellung der Website und Erstellung von Logfiles ===&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BEREITSTELLUNG DER WEBSITE UND ERSTELLUNG VON LOGFILES&lt;br /&gt;
&lt;br /&gt;
Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Bei jedem Aufruf unserer Internetseite erfasst unser System automatisiert Daten und Informationen vom Computersystem des aufrufenden Rechners. &lt;br /&gt;
Folgende Daten werden hierbei erhoben:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dieser Teil ist entsprechend anzupassen. Nicht zutreffende Daten sind zu entfernen, fehlende zu ergänzen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Informationen über den Browsertyp und die verwendete Version&lt;br /&gt;
Das Betriebssystem des Nutzers&lt;br /&gt;
Den Internet-Service-Provider des Nutzers&lt;br /&gt;
Die IP-Adresse des Nutzers&lt;br /&gt;
Datum und Uhrzeit des Zugriffs&lt;br /&gt;
Websites, von denen das System des Nutzers auf unsere Internetseite gelangt &lt;br /&gt;
Websites, die vom System des Nutzers über unsere Website aufgerufen werden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 1: &amp;#039;&amp;#039;&amp;#039;Die Logfiles enthalten IP-Adressen&amp;#039;&amp;#039;&amp;#039; oder sonstige Daten, &amp;#039;&amp;#039;&amp;#039;die eine Zuordnung zu einem Nutzer ermöglichen&amp;#039;&amp;#039;&amp;#039;. Dies könnte beispielsweise der Fall sein, wenn der Link zur Website, von der der Nutzer auf die Internetseite gelangt, oder der Link zur Website, zu der der Nutzer wechselt, personenbezogene Daten enthält.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 2: Die &amp;#039;&amp;#039;&amp;#039;Logfiles enthalten keine IP-Adressen oder sonstigen Daten, die eine Zuordnung zu einem Nutzer ermöglichen&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. Nicht hiervon betroffen sind die IP-Adressen des Nutzers oder andere Daten, die die Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 3: anonymisierte Logfiles&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. IP-Adressen werden im Logfile  teilanonymisiert gespeichert, ihnen fehlt dadurch das Merkmal der Personenbezogenheit. Es werden keine Daten gespeichert, die eine Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&lt;br /&gt;
 Rechtsgrundlage für die vorübergehende Speicherung der Daten und der Logfiles ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Falls keine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&lt;br /&gt;
 Rechtsgrundlage für die vorübergehende Speicherung der Daten ist Art. 6 Abs. 1 lit. f DSGVO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die vorübergehende Speicherung der IP-Adresse durch das System ist notwendig, um eine Auslieferung der Website an den Rechner des Nutzers zu ermöglichen. Hierfür muss die IP-Adresse des Nutzers für die Dauer der Sitzung gespeichert bleiben. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Speicherung in Logfiles erfolgt, um die Funktionsfähigkeit der Website sicherzustellen. Zudem dienen uns die Daten zur Optimierung der Website und zur Sicherstellung der Sicherheit unserer informationstechnischen Systeme. Eine Auswertung der Daten zu Marketingzwecken findet in diesem Zusammenhang nicht statt. &lt;br /&gt;
&lt;br /&gt;
In diesen Zwecken liegt auch unser berechtigtes Interesse an der Datenverarbeitung nach Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dauer der Speicherung&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Im Falle der Erfassung der Daten zur Bereitstellung der Website ist dies der Fall, wenn die jeweilige Sitzung beendet ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Im Falle der Speicherung der Daten in Logfiles ist dies nach spätestens sieben Tagen der Fall. Eine darüberhinausgehende Speicherung ist möglich. In diesem Fall werden die IP-Adressen der Nutzer gelöscht oder verfremdet, sodass eine Zuordnung des aufrufenden Clients nicht mehr möglich ist.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Die Erfassung der Daten zur Bereitstellung der Website und die Speicherung der Daten in Logfiles ist für den Betrieb der Internetseite zwingend erforderlich. Es besteht folglich seitens des Nutzers keine Widerspruchsmöglichkeit. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Erstellung von Zugriffsstatistik (Webalizer) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ERSTELLUNG DER ZUGRIFFSSTATISTIK&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet Webalizer.&lt;br /&gt;
Bei diesem Produkt handelt es sich um einen Web-Analyse-Dienst, der Daten über das Verhalten von Besuchern von Webseiten erhebt, sammelt und auswertet. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Webseite eine betroffene Person auf eine Webseite gekommen ist (wenn die Person zuvor einen Link geklickt hat), auf welche Unterseiten der Webseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde.&lt;br /&gt;
&lt;br /&gt;
Der Zweck der Verwendung ist die Auswertung der Nutzung von Webseiten zur Verbesserung des Angebots und der Bedienung. Durch die Auswertung kann in Erfahrung gebracht werden, wie die jeweilige Website genutzt wird und so das Angebot der Webseite stetig optimiert werden.&lt;br /&gt;
&lt;br /&gt;
Die auf diese Weise zu Analysezwecken erhoben Daten der Nutzer werden durch technische Vorkehrungen anonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich. Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert.&lt;br /&gt;
&lt;br /&gt;
In diesen Zwecken liegt auch das berechtigte Interesse des Webseitenbetreibers in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 Buchstabe f DSGVO. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Zeitlich unbegrenzt (bis zum manuellen Entfernen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dienst speichert die von ihnen verarbeiteten Daten ohne zeitliche Begrenzung. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder (Default Einstellung all-inkl)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dienst speichert die verarbeiteten Daten für 190 Tage.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dients nutzt keine Cookies, sondern verarbeiten ausschließlich die Daten des Logfiles (siehe Erstellung von Logfiles). IP-Adressen werden im Logfile  teilanonymisiert gespeichert, ihnen fehlt darum das Merkmal der Personenbezogenheit.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cookies ===&lt;br /&gt;
https://accentikainternet.co.uk/article-details/article/make-your-typo3-website-cookie-compliant-with-eu-law.html (netter englischer text)&lt;br /&gt;
&lt;br /&gt;
==== Cookies Text ====&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VERWENDUNG VON COOKIES&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite verwendet Cookies. Bei Cookies handelt es sich um Textdateien, die im Internetbrowser bzw. vom Internetbrowser auf dem Computersystem des Nutzers gespeichert werden. Dieser Cookie enthält eine charakteristische Zeichenfolge. Dadurch können wir den Browser beim erneuten Aufrufen der Website wiedererkennen.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Verwendung technisch notwendiger Cookies erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Durch den Einsatz von Cookies können wir unsere Website nutzerfreundlicher gestalten. Einige Elemente unserer Internetseite erfordern es, dass der aufrufende Browser auch nach einem Seitenwechsel identifiziert werden kann. &lt;br /&gt;
Für folgende Zwecke nutzen wir Cookies:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der gespeicherten Daten. Beispiele können sein:&lt;br /&gt;
* Merken von Spracheinstellungen&lt;br /&gt;
* Speichern von Artikel im Warenkorb&lt;br /&gt;
* Verwalten Log-In-Informationen&lt;br /&gt;
* Speichern von Benutzereinstellungen&lt;br /&gt;
* Verbesserung der Sicherheit&lt;br /&gt;
&lt;br /&gt;
Falls zudem eine Verwendung technisch nicht notwendiger Cookies erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Wir verwenden auf unserer Website darüber hinaus Cookies, die eine Analyse des Surfverhaltens der Nutzer ermöglichen. &lt;br /&gt;
Auf diese Weise können folgende Daten übermittelt werden:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der erhobenen Daten. Diese können beispielsweise sein:&lt;br /&gt;
* (1) Eingegebene Suchbegriffe&lt;br /&gt;
* (2) Häufigkeit von Seitenaufrufen&lt;br /&gt;
* (3) Inanspruchnahme von Website-Funktionen&lt;br /&gt;
&lt;br /&gt;
Bislang war es nach § 15 Abs. 3 TMG möglich, für technisch nicht notwendige Cookies eine Pseudonymisierung der verarbeiteten personenbezogenen Daten vorzunehmen und den Nutzer über die Verwendung der Cookies und sein Widerspruchs- und Beseitigungsrecht zu informieren („Opt-Out-Lösung“). Es ist jedoch in der juristischen Literatur umstritten, ob diese Norm auch nach Geltung der DSGVO weiter Anwendung findet. Im Zweifel muss daher davon ausgegangen werden, dass nunmehr allein die Vorschriften der DSGVO gelten. In diesem Fall ist allein auf Art. 6 Abs. 1 DSGVO abzustellen. Auch nach dieser Norm ist eine Fortführung der bisherigen Praxis denkbar, wenn auf ein „berechtigtes Interesse“ des Verarbeitenden nach Art. 6 Abs. 1 lit. f DSGVO abgestellt wird. Falls also vor dem Setzen und Abrufen der technisch nicht notwendigen Cookies keine Einwilligung des Nutzers eingeholt wird:&lt;br /&gt;
Die auf diese Weise erhobenen Daten der Nutzer werden durch technische Vorkehrungen pseudonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich. Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert.&lt;br /&gt;
Beim Aufruf unserer Website werden die Nutzer durch einen Infobanner über die Verwendung von Cookies zu Analysezwecken informiert und auf diese Datenschutzerklärung verwiesen. Es erfolgt in diesem Zusammenhang auch ein Hinweis darauf, wie die Speicherung von Cookies in den Browsereinstellungen unterbunden werden kann.&lt;br /&gt;
Ob die bisherige Praxis der „Opt-Out-Lösung“ den Anforderungen des Art. 6 Abs. 1 lit. f DGVO gerecht wird, kann derzeit nicht mit Sicherheit gesagt werden. Klarheit könnte diesbezüglich die geplante E-Privacy-Verordnung bringen. Bis dahin besteht die rechtssicherste Lösung allerdings darin, eine vorherige Einwilligung des Nutzers einzuholen („Opt-In-Lösung“). &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Falls also vor dem Setzen und Abrufen der technisch nicht notwendigen Cookies eine Einwilligung des Nutzers eingeholt wird:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Beim Aufruf unserer Website wird der Nutzer über die Verwendung von Cookies zu Analysezwecken informiert und seine Einwilligung zur Verarbeitung der in diesem Zusammenhang verwendeten personenbezogenen Daten eingeholt. In diesem Zusammenhang erfolgt auch ein Hinweis auf diese Datenschutzerklärung. &lt;br /&gt;
b) Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls nur eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt &amp;#039;&amp;#039;&amp;#039;oder&amp;#039;&amp;#039;&amp;#039; eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies und technisch nicht notwendiger Cookies ohne vorherige Einholung einer Einwilligung des Nutzers&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger und nicht notwendiger Cookies mit vorheriger Einholung einer Einwilligung&amp;#039;&amp;#039;&amp;#039; des Nutzers erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung technisch notweniger Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies zu Analysezwecken ist bei Vorliegen einer diesbezüglichen Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
c) Zweck der Datenverarbeitung&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Zweck der Verwendung technisch notwendiger Cookies ist, die Nutzung von Websites für die Nutzer zu vereinfachen. Einige Funktionen unserer Internetseite können ohne den Einsatz von Cookies nicht angeboten werden. Für diese ist es erforderlich, dass der Browser auch nach einem Seitenwechsel wiedererkannt wird.&lt;br /&gt;
Für folgende Anwendungen benötigen wir Cookies:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der Anwendungen. Beispiele können sein:&lt;br /&gt;
* (1) Warenkorb&lt;br /&gt;
* (2) Übernahme von Spracheinstellungen&lt;br /&gt;
* (3) Merken von Suchbegriffen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die durch technisch notwendige Cookies erhobenen Nutzerdaten werden nicht zur Erstellung von Nutzerprofilen verwendet.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Falls kein Tracking und keine Drittanbieter Cookies &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Todo...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Falls zudem eine Verwendung technisch nicht notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Verwendung der Analyse-Cookies erfolgt zu dem Zweck, die Qualität unserer Website und ihre Inhalte zu verbessern. Durch die Analyse-Cookies erfahren wir, wie die Website genutzt wird und können so unser Angebot stetig optimieren.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Der genaue Einsatzzweck der Analysecookies sollte an dieser Stelle genauer beschrieben werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
In diesen Zwecken liegt auch unser berechtigtes Interesse in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 lit. f DSGVO. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
e) Dauer der Speicherung, Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Cookies werden auf dem Rechner des Nutzers gespeichert und von diesem an unserer Seite übermittelt. Daher haben Sie als Nutzer auch die volle Kontrolle über die Verwendung von Cookies. Durch eine Änderung der Einstellungen in Ihrem Internetbrowser können Sie die Übertragung von Cookies deaktivieren oder einschränken. Bereits gespeicherte Cookies können jederzeit gelöscht werden. Dies kann auch automatisiert erfolgen. Werden Cookies für unsere Website deaktiviert, können möglicherweise nicht mehr alle Funktionen der Website vollumfänglich genutzt werden.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Beispiel Cookies Switch (DEKRA) ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Datenschutz-Einstellungen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Um unseren Internetauftritt für Sie benutzerfreundlich zu gestalten und optimal auf Ihre Bedürfnisse abzustimmen, setzen wir in einigen Bereichen Cookies ein. Bestimmen Sie selbst, welche Cookies Sie zulassen bzw. ablehnen. Sie können Ihre Entscheidung jederzeit wieder ändern.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Technisch notwendige Cookies&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Diese Cookies sind von grundlegender Bedeutung für die Funktion unserer Website.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Targeting/Third Party Cookies&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Diese Cookies werden von Drittanbietern (YouTube, Vimeo) gesetzt, um das Abspielen der Videos zu ermöglichen.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Performance/Statistik Cookies&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Diese Cookies sammeln Informationen darüber, wie Sie unsere Website verwenden. Sie speichern keine Informationen, die eine persönliche Identifikation des Besuchers erlauben. Die mit Hilfe dieser Cookies gesammelten Informationen sind aggregiert und somit anonym.&lt;br /&gt;
&lt;br /&gt;
==== Wordpress Cookies====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Verwendetet Cookies im Detail:&lt;br /&gt;
Technisch notwendige Cookies:&lt;br /&gt;
wordpress_logged_in_[hash]&lt;br /&gt;
Wird gesetzt wenn sich ein Benutzer anmeldet. Management des An- und Abmeldeprozess&lt;br /&gt;
wp-settings-{time}-[UID]&lt;br /&gt;
Managment der Kommentarfunktion. Verhindert im wesentlichen, dass der Kommentator Eingaben doppelt machen muss.&lt;br /&gt;
comment_author_{HASH}&lt;br /&gt;
comment_author_email_{HASH}&lt;br /&gt;
comment_author_url_{HASH}&lt;br /&gt;
Wird gesetzt, wenn Benutzer die Kommentarfunktion nutzen. Dient dazu dem Kommentatoren doppelte Eingaben zu ersparen.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
WordPress Cookies&lt;br /&gt;
&lt;br /&gt;
After login, wordpress sets the wordpress_logged_in_[hash] cookie, which indicates when you’re logged in, and who you are, for most interface use.&lt;br /&gt;
&lt;br /&gt;
WordPress also sets a few wp-settings-{time}-[UID] cookies. The number on the end is your individual user ID from the users database table. This is used to customise your view of admin interface, and possibly also the main site interface.&lt;br /&gt;
&lt;br /&gt;
When visitors comment on your blog, they too get cookies stored on their computer. This is purely a convenience, so that the visitor won’t need to re-type all their information again when they want to leave another comment. Altogether three are set for commenters:&lt;br /&gt;
&lt;br /&gt;
comment_author_{HASH}&lt;br /&gt;
comment_author_email_{HASH}&lt;br /&gt;
comment_author_url_{HASH}&lt;br /&gt;
&lt;br /&gt;
===== ProcessWire =====&lt;br /&gt;
&lt;br /&gt;
wire - Sitzungscookie&lt;br /&gt;
&lt;br /&gt;
* Verbesserung der Sicherheit der Website&lt;br /&gt;
* Verbesserung der Bedienbarkeit der Website&lt;br /&gt;
&lt;br /&gt;
wires - Sitzungscookie&lt;br /&gt;
* wie wire, wird aber bei sicherer Verbindung eingesetzt&lt;br /&gt;
&lt;br /&gt;
wire_challenge - Persistenter Cookie&lt;br /&gt;
* Management des Login für User mit Benutzeraccount und Benutzereinstellungen&lt;br /&gt;
&lt;br /&gt;
WireTabs - Sitzungscookie&lt;br /&gt;
* Speichert Informationen zum aktuellen Bearbeitungsstatus eines angemeldeten Benutzers, während der Bearbeitung der Homepage.&lt;br /&gt;
&lt;br /&gt;
The only other cookie set by this website is called &amp;#039;wire’ and is required by ProcessWire (the underlying CMS) for the system to operate properly. If you wish to delete individual cookies from your computer but are unsure how to do it, have a look at www.allaboutcookies.org.&lt;br /&gt;
&lt;br /&gt;
==== Cookie Infos ====&lt;br /&gt;
https://rickert.net/blog/cookies-aktuelle-rechtslage/&lt;br /&gt;
&lt;br /&gt;
https://policies.google.com/technologies/cookies?hl=de&lt;br /&gt;
&lt;br /&gt;
Todo auf eigener Homepage&lt;br /&gt;
&lt;br /&gt;
===== Piwick =====&lt;br /&gt;
There are two cookies on this website that collect information from visitors to help me improve this website. They enable me to trace errors on this website and inform him about how this website is used. This information is anonymous and cannot be used to identify you personally. These cookies are set by the analytics software ‘Piwik’ and start with ‘_pk_id’ and ‘_pk_ses’. Piwik is self-hosted software. This means that all data collected stays with me. No analytics information is remitted to third parties (this is different from websites using certain other tools such as Google Analytics).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== TYPO3 =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Name: fe_typo_user&lt;br /&gt;
Art: session cookie&lt;br /&gt;
Nutzung: Login Managment für Frontend User, identifiziert den Nutzer, Verbesserung der Seitenbenutzung, Sicherheit&lt;br /&gt;
&lt;br /&gt;
Name: be_typo3_user&lt;br /&gt;
Art: session cookie&lt;br /&gt;
Nutzung: Login Managment für Backend User, identifiziert den Nutzer, Verbesserung der Seitenbenutzung, Sicherheit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
FE User Cookie Kann man per default ausschalten&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;quot;FE&amp;quot;][&amp;quot;dontSetCookie&amp;quot;] = 1;&lt;br /&gt;
&lt;br /&gt;
=== Newsletter ===&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
29. Newsletter&lt;br /&gt;
&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Auf unserer Internetseite besteht die Möglichkeit einen kostenfreien Newsletter zu abonnieren. Dabei werden bei der Anmeldung zum Newsletter die Daten aus der Eingabemaske an uns übermittelt.&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sollte eine konkrete Nennung der erhobenen Daten erfolgen. Im Minimalfall betrifft dies die E-Mail-Adresse des Nutzers. &lt;br /&gt;
&lt;br /&gt;
Zudem werden folgende Daten bei der Anmeldung erhoben:&lt;br /&gt;
&lt;br /&gt;
Es müssen die tatsächlich erhobenen weiteren Daten angegeben werden. Dies können beispielsweise sein:&lt;br /&gt;
(1) IP-Adresse des aufrufenden Rechners&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Anmeldevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund des Verkaufs von Waren oder Dienstleistungen:&lt;br /&gt;
&lt;br /&gt;
Wenn Sie auf unserer Internetseite Waren oder Dienstleistungen erwerben und hierbei Ihre E-Mail-Adresse hinterlegen, kann diese in der Folge durch uns für den Versand eines Newsletters verwendet werden. In einem solchen Fall wird über den Newsletter ausschließlich Direktwerbung für eigene ähnliche Waren oder Dienstleistungen versendet.&lt;br /&gt;
&lt;br /&gt;
Es erfolgt im Zusammenhang mit der Datenverarbeitung für den Versand von Newslettern keine Weitergabe der Daten an Dritte. Die Daten werden ausschließlich für den Versand des Newsletters verwendet.&lt;br /&gt;
&lt;br /&gt;
30. Rechtsgrundlage für die Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten nach Anmeldung zum Newsletters durch den Nutzer ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund des Verkaufs von Waren oder Dienstleistungen:&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für den Versand des Newsletters infolge des Verkaufs von Waren oder Dienstleistungen ist § 7 Abs. 3 UWG.&lt;br /&gt;
&lt;br /&gt;
31. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Erhebung der E-Mail-Adresse des Nutzers dient dazu, den Newsletter zuzustellen. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Die Erhebung sonstiger personenbezogener Daten im Rahmen des Anmeldevorgangs dient dazu, einen Missbrauch der Dienste oder der verwendeten E-Mail-Adresse zu verhindern.&lt;br /&gt;
&lt;br /&gt;
32. Dauer der Speicherung&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Die E-Mail-Adresse des Nutzers wird demnach solange gespeichert, wie das Abonnement des Newsletters aktiv ist. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Die sonstigen im Rahmen des Anmeldevorgangs erhobenen personenbezogenen Daten werden in der Regel nach einer Frist von sieben Tagen gelöscht.&lt;br /&gt;
&lt;br /&gt;
33. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Das Abonnement des Newsletters kann durch den betroffenen Nutzer jederzeit gekündigt werden. Zu diesem Zweck findet sich in jedem Newsletter ein entsprechender Link. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Hierdurch wird ebenfalls ein Widerruf der Einwilligung der Speicherung der während des Anmeldevorgangs erhobenen personenbezogenen Daten ermöglicht.&lt;br /&gt;
&lt;br /&gt;
34. Registrierung&lt;br /&gt;
&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Auf unserer Internetseite bieten wir Nutzern die Möglichkeit, sich unter Angabe personenbezogener Daten zu registrieren. Die Daten werden dabei in eine Eingabemaske eingegeben und an uns übermittelt und gespeichert. Eine Weitergabe der Daten an Dritte findet nicht statt. Folgende Daten werden im Rahmen des Registrierungsprozesses erhoben:&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sollten die entsprechenden Daten aufgelistet werden.&lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Registrierung werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sind die Daten entsprechend aufzulisten. Beispiele können sein:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Im Rahmen des Registrierungsprozesses wird eine Einwilligung des Nutzers zur Verarbeitung dieser Daten eingeholt.&lt;br /&gt;
35. Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Wenn die Registrierung der Erfüllung eines Vertrages, dessen Vertragspartei die betroffene Person ist, oder der Durchführung vorvertraglicher Maßnahmen dient.&lt;br /&gt;
&lt;br /&gt;
Dient die Registrierung der Erfüllung eines Vertrages, dessen Vertragspartei der Nutzer ist oder der Durchführung vorvertraglicher Maßnahmen, so ist zusätzliche Rechtsgrundlage für die Verarbeitung der Daten Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
36. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient nicht zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Eine Registrierung des Nutzers ist für das Bereithalten bestimmter Inhalte und Leistungen auf unserer Website erforderlich.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung der Inhalte und Leistungen. Warum ist im Einzelfall eine Identifikation des Nutzers für die Bereithaltung erforderlich?&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Eine Registrierung des Nutzers ist zur Erfüllung eines Vertrages mit dem Nutzer oder zur Durchführung vorvertraglicher Maßnahmen erforderlich.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung des auf der Internetseite angebotenen Vertrages. Warum sind für diese Verträge die erhobenen Daten erforderlich?&lt;br /&gt;
&lt;br /&gt;
Sollte für die von Ihnen angebotenen Verträge eine Verarbeitung der personenbezogenen Daten des Vertragspartners bei Vertragsschluss gesetzlich vorgeschrieben sein, so sind die jeweiligen Normen, aus denen sich die Verpflichtung ergibt, zu nennen.&lt;br /&gt;
37. Dauer der Speicherung&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind.&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient nicht zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Dies ist für die während des Registrierungsvorgangs erhobenen Daten der Fall, wenn die Registrierung auf unserer Internetseite aufgehoben oder abgeändert wird. &lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Dies ist für die während des Registrierungsvorgangs zur Erfüllung eines Vertrags oder zur Durchführung vorvertraglicher Maßnahmen dann der Fall, wenn die Daten für die Durchführung des Vertrages nicht mehr erforderlich sind. Auch nach Abschluss des Vertrags kann eine Erforderlichkeit, personenbezogene Daten des Vertragspartners zu speichern, bestehen, um vertraglichen oder gesetzlichen Verpflichtungen nachzukommen.&lt;br /&gt;
&lt;br /&gt;
Dauerschuldverhältnisse erfordern die Speicherung der personenbezogenen Daten während der Vertragslaufzeit. Zudem müssen Gewährleistungsfristen beachtet werden und die Speicherung von Daten für steuerliche Zwecke. Welche Speicherfristen hierbei einzuhalten sind, lässt sich nicht pauschal festlegen, sondern muss für die jeweils geschlossenen Verträge und Vertragsparteien im Einzelfall ermittelt werden.&lt;br /&gt;
38. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
Als Nutzer haben sie jederzeit die Möglichkeit, die Registrierung aufzulösen. Die über Sie gespeicherten Daten können Sie jederzeit abändern lassen. &lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung, wie eine Löschung des Accounts und eine Änderung von Daten möglich sind.&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Sind die Daten zur Erfüllung eines Vertrages oder zur Durchführung vorvertraglicher Maßnahmen erforderlich, ist eine vorzeitige Löschung der Daten nur möglich, soweit nicht vertragliche oder gesetzliche Verpflichtungen einer Löschung entgegenstehen. &lt;br /&gt;
39. Kontaktformular und E-Mail-Kontakt&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Auf unserer Internetseite ist ein Kontaktformular vorhanden, welches für die elektronische Kontaktaufnahme genutzt werden kann. Nimmt ein Nutzer diese Möglichkeit wahr, so werden die in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. Diese Daten sind:&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Auflistung der Daten der Eingabemaske&lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Auflistung der entsprechenden Daten. Beispiele können sein:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich. In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. &lt;br /&gt;
&lt;br /&gt;
Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte. Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet.&lt;br /&gt;
&lt;br /&gt;
40. Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO. Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
41. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten.&lt;br /&gt;
Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
42. Dauer der Speicherung&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist. Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist. &lt;br /&gt;
&lt;br /&gt;
Die während des Absendevorgangs zusätzlich erhobenen personenbezogenen Daten werden spätestens nach einer Frist von sieben Tagen gelöscht.&lt;br /&gt;
&lt;br /&gt;
43. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Der Nutzer hat jederzeit die Möglichkeit, seine Einwilligung zur Verarbeitung der personenbezogenen Daten zu widerrufen. Nimmt der Nutzer per E-Mail Kontakt mit uns auf, so kann er der Speicherung seiner personenbezogenen Daten jederzeit widersprechen. In einem solchen Fall kann die Konversation nicht fortgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Beschreibung, auf welche Weise der Widerruf der Einwilligung und der Widerspruch der Speicherung ermöglicht wird.&lt;br /&gt;
&lt;br /&gt;
Alle personenbezogenen Daten, die im Zuge der Kontaktaufnahme gespeichert wurden, werden in diesem Fall gelöscht.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kontaktformular ===&lt;br /&gt;
Direkt am Formular&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Mit meiner Kontaktaufnahme willige ich ein, dass meine Daten gespeichert und zur Bearbeitung meiner Anfrage/Kontaktaufnahme sowie für die Zusendung von Informationsmaterial genutzt werden. Eine Weiterleitung an Dritte ist ausgeschlossen. Diese Einwilligung kann jederzeit widerrufen werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Checkbox&amp;gt; Ich stimme zu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In der Datenschutzerklärung&lt;br /&gt;
&lt;br /&gt;
Quelle Uni Münster (stark angepasst)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KONTAKTFORMULAR UND E-MAIL KONTAKT&lt;br /&gt;
&lt;br /&gt;
Auf unserer Website können Sie Kontaktformulare zur elektronische Kontaktaufnahme nutzen. Nehmen Sie diese Möglichkeit wahr, so werden die von Ihnen in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. &lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich. In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. &lt;br /&gt;
Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet. Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte. &lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO. Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten.&lt;br /&gt;
Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist. Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Google Analytics ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzerklärung für die Nutzung von Google Analytics&lt;br /&gt;
&lt;br /&gt;
Diese Website nutzt Funktionen des  Webanalysedienstes Google Analytics. Anbieter ist die Google Inc. 1600 Amphitheatre Parkway Mountain View, CA 94043, USA. Google Analytics verwendet sog. „Cookies“. Das sind Textdateien, die auf Ihrem Computer gespeichert werden und die eine Analyse der Benutzung der Website durch Sie ermöglichen. Die durch den Cookie erzeugten Informationen über Ihre Benutzung dieser Website werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert.&lt;br /&gt;
&lt;br /&gt;
Im Falle der Aktivierung der IP-Anonymisierung auf dieser Webseite wird Ihre IP-Adresse von Google jedoch innerhalb von Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des Abkommens über den Europäischen Wirtschaftsraum zuvor gekürzt. Nur in Ausnahmefällen wird die volle IP-Adresse an einen Server von Google in den USA übertragen und dort gekürzt. Im Auftrag des Betreibers dieser Website wird Google diese Informationen benutzen, um Ihre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten zusammenzustellen und um weitere mit der Websitenutzung und der Internetnutzung verbundene Dienstleistungen gegenüber dem Websitebetreiber zu erbringen. Die im Rahmen von Google Analytics von Ihrem Browser übermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt.&lt;br /&gt;
&lt;br /&gt;
Sie können die Speicherung der Cookies durch eine entsprechende Einstellung Ihrer Browser-Software verhindern; wir weisen Sie jedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser Website vollumfänglich werden nutzen können. Sie können darüber hinaus die Erfassung der durch das Cookie erzeugten und auf Ihre Nutzung der Website bezogenen Daten (inkl. Ihrer IP-Adresse) an Google sowie die Verarbeitung dieser Daten durch Google verhindern, indem sie das unter dem folgenden Link verfügbare Browser-Plugin herunterladen und installieren: http://tools.google.com/dlpage/gaoptout?hl=de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Google Fonts ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Google Fonts&lt;br /&gt;
&lt;br /&gt;
Zur Darstellung der Schrift auf dieser Website setzten wir externe Schriftarten von Google Fonts ein.&lt;br /&gt;
Dieser Dienst wird von der Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043 USA, nachfolgend „Google“ angeboten.&lt;br /&gt;
Google ist nach dem „EU-US Privacy Shield“ zertifiziert und garantiert dadurch die Einhaltung der Datenschutzvorgaben der EU bei der Verarbeitung der Daten in den USA.&lt;br /&gt;
 &lt;br /&gt;
https://www.privacyshield.gov/participant?id=a2zt000000001L5AAI&amp;amp;status=Active&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf dieser Website wird eine Verbindung zu  Google-Server in den USA aufgebaut, um die Schrift zu laden oder diese zu aktualisieren.&lt;br /&gt;
&lt;br /&gt;
Durch diese Verbindung kann Google erkennen, von welcher Website eine Anfrage gestellt wird und an welche IP-Adresse die Schrift übermittelt wird.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO. Das berechtigte Interesse des Anbieters besteht an der Optimierung und dem wirtschaftlichen Betrieb der Website.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen, insbesondere zu den Möglichkeiten der Unterbindung der Datennutzung, bietet Google unter den nachfolgenden Links an:&lt;br /&gt;
&lt;br /&gt;
https://policies.google.com/privacy&lt;br /&gt;
https://adssettings.google.com/authenticated.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Social Media Plattformen ==&lt;br /&gt;
=== Beispiel aus Heise ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
7. Onlineangebote auf Social-Media-Plattformen&lt;br /&gt;
&lt;br /&gt;
Wir bieten auf unterschiedlichen Social-Media-Plattformen Onlineangebote an, um dort Informationen bereitzuhalten und um mit Ihnen in Kontakt treten zu können.&lt;br /&gt;
Auf die Verarbeitung personenbezogener Daten durch den jeweiligen Plattformbetreiber haben wir keinen Einfluss. In der Regel werden beim Besuch unserer Social-Media-Angebote vom Plattformbetreiber Cookies in Ihrem Browser gespeichert, in denen zu Marktforschungs- und Werbezwecken Ihr Nutzungsverhalten bzw. Ihre Interessen gespeichert werden. Die so - meist geräteübergreifend - gewonnenen Nutzungsprofile verwenden die Plattformbetreiber, um Ihnen personalisierte Werbung anzuzeigen. Von der Datenverarbeitung können auch Personen betroffen sein, die bei der jeweiligen Social-Media-Plattform nicht als Nutzer registriert sind. Unter Umständen werden Ihre Daten außerhalb des Raumes der Europäischen Union verarbeitet, was die Durchsetzung Ihrer Rechte erschweren kann. Wir achten bei der Auswahl solcher Social-Media-Plattformen jedoch darauf, dass die Bertreiber sich dazu verpflichten, die Datenschutzstandards der EU einzuhalten.&lt;br /&gt;
Die Verarbeitung Ihrer personenbezogenen Daten beim Besuch einer unserer Social-Media-Angebote erfolgt auf Grundlage unserer berechtigten Interessen an einer vielfältigen Außendarstellung unseres Unternehmens und der Nutzung einer effektiven Informationsmöglichkeit sowie der Kommunikation mit Ihnen. Die Rechtsgrundlage hierfür ist Art. 6 Abs. 1 lit. f DSGVO. Unter Umständen haben Sie einem Plattformbetreiber auch eine Einwilligung in die Datenverarbeitung erteilt, in diesem Fall ist Art. 6 Abs. 1 lit. a DSGVO dir Rechtsgrundlage.&lt;br /&gt;
Detaillierte Informationen über die Datenverarbeitung im Zusammenhang mit der Nutzung unserer Social-Media-Angebote, Widerspruchsmöglichkeiten (Opt-Out) und die Geltendmachung von Auskunftsrechten erhalten sie über die Datenschutzerklärung des entsprechenden Plattformbetreibers.&lt;br /&gt;
&lt;br /&gt;
7.1 Facebook&lt;br /&gt;
&lt;br /&gt;
Anbieter: Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2, Irland&lt;br /&gt;
Die Datenverarbeitung erfolgt auf Grundlage einer Vereinbarung über die gemeinsame Verarbeitung personenbezogener Daten nach Art. 26 DSGVO.&lt;br /&gt;
Datenschutzerklärung: https://www.facebook.com/about/privacy/&lt;br /&gt;
Opt-Out: https://www.facebook.com/settings?tab=ads&lt;br /&gt;
&lt;br /&gt;
7.2 Google+/ YouTube&lt;br /&gt;
&lt;br /&gt;
Anbieter: Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland&lt;br /&gt;
Datenschutzerklärung: https://policies.google.com/privacy&lt;br /&gt;
Opt-Out: https://adssettings.google.com/authenticated&lt;br /&gt;
&lt;br /&gt;
7.3 Instagram&lt;br /&gt;
&lt;br /&gt;
Anbieter: Instagram Inc., 1601 Willow Road, Menlo Park, CA, 94025, USA&lt;br /&gt;
Datenschutzerklärung: http://instagram.com/about/legal/privacy&lt;br /&gt;
Opt-Out: http://instagram.com/about/legal/privacy&lt;br /&gt;
&lt;br /&gt;
7.4 Twitter&lt;br /&gt;
&lt;br /&gt;
Anbieter: Twitter Inc., 1355 Market Street, Suite 900, San Francisco, CA 94103, USA&lt;br /&gt;
Datenschutzerklärung: https://twitter.com/de/privacy&lt;br /&gt;
Opt-Out: https://twitter.com/personalization&lt;br /&gt;
&lt;br /&gt;
7.5 LinkedIn&lt;br /&gt;
&lt;br /&gt;
Anbieter: LinkedIn Ireland Unlimited Company Wilton Place, Dublin 2, Irland&lt;br /&gt;
Datenschutzerklärung: https://www.linkedin.com/legal/privacy-policy&lt;br /&gt;
Opt-Out: https://www.linkedin.com/psettings/guest-controls/retargeting-opt-out&lt;br /&gt;
&lt;br /&gt;
7.6 Xing&lt;br /&gt;
&lt;br /&gt;
Anbieter: XING AG, Dammtorstraße 29-32, 20354 Hamburg, Deutschland)&lt;br /&gt;
Datenschutzerklärung: https://privacy.xing.com/de/datenschutzerklaerung&lt;br /&gt;
Opt-Out: https://privacy.xing.com/de/datenschutzerklaerung &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== youTube ===&lt;br /&gt;
Am Besten 2-Klick Lösung verwenden.&lt;br /&gt;
&lt;br /&gt;
Siehe Social Media Plattformen&lt;br /&gt;
&lt;br /&gt;
=== Google Maps ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GOOGLE MAPS&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet die GoogleMaps API. Ein Produkt der Google Inc., zur Anzeige von interaktiven Landkarten. Bei der Nutzung von Google Maps werden von Google auch Daten über die Nutzung der Maps-Funktionen des Besuchers erhoben, verarbeitet und genutzt. Nähere Informationen über die Datenverarbeitung durch Google finden Sie in den Datenschutzhinweisen von Google (http://www.google.com/intl/de_de/help/terms_maps.html). Google stellt dort darüber hinaus Möglichkeiten zur Datenschutzeinstellung zur Verfügung, mit denen Sie Ihre Daten verwalten und schützen können.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenStreetMaps ===&lt;br /&gt;
==== Eigener Text - Processwire manuelle Einbindung ====&lt;br /&gt;
OpenStreetMaps&lt;br /&gt;
&lt;br /&gt;
Diese Website nutzt freie Kartendaten der OpenStreetMap Foundation, St John’s Innovation Centre, Cowley Road, Cambridge, CB4 0WS, United Kingdom (kurz OSMF).&lt;br /&gt;
Zum Abrufen der OSMF Kartenbilder überträgt der Browser Ihre IP Adresse an einen Server der OSMF. Der Standort des ausgewählten OSMF Servers hängt von der Verfügbarkeit und Ihrem eigenen Standort ab. Der Betreiber dieser Website hat keine Kontrolle über diese Verbindungen und die Verarbeitung Ihrer Daten durch die OSMF. Die Nutzung von OSMF erfolgt im Interesse einer ansprechenden Darstellung und besserer Funktionalität sowie einer leichteren Auffindbarkeit der dargestellten Orte. Dies stellt ein berechtigtes Interesse im Sinne von Art. 6 Abs. 1 lit. f DSGVO dar. Die OSMF verarbeitet Ihre Daten nach eigener Auskunft im Sinne der DSGVO. Mehr Informationen zum Umgang mit Nutzerdaten finden Sie in der Datenschutzerklärung der OSMF: https://wiki.osmfoundation.org/wiki/Privacy_Policy&lt;br /&gt;
&lt;br /&gt;
==== Beispiele ====&lt;br /&gt;
https://www.studierendenwerk-kaiserslautern.de/kaiserslautern/info/datenschutzerklaerung/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenStreetMap&lt;br /&gt;
&lt;br /&gt;
Diese Seite nutzt über eine API das Open-Source-Mapping-Werkzeug „OpenStreetMap“ (OSM). Anbieter ist die OpenStreetMap Foundation. Zur Nutzung der Funktionen von OpenStreetMap ist es notwendig, Ihre IP Adresse zu speichern. Diese Informationen werden in der Regel an einen Server von OpenStreetMap übertragen und dort gespeichert. Der Anbieter dieser Seite hat keinen Einfluss auf diese Datenübertragung. Die Nutzung von OpenStreetMap erfolgt im Interesse einer ansprechenden Darstellung unserer Online-Angebote und an einer leichten Auffindbarkeit der von uns auf der Website angegebenen Orte. Dies stellt ein berechtigtes Interesse im Sinne von Art. 6 Abs. 1 lit. f DSGVO dar. Mehr Informationen zum Umgang mit Nutzerdaten finden Sie in der Datenschutzseite von OpenStreetMap und hier http://wiki.openstreetmap.org/wiki/Legal_FAQ.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ADFC&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenStreetMap&lt;br /&gt;
&lt;br /&gt;
Zur Darstellung von Geo-Daten verwenden wir das Open-Source-Mapping-Werkzeug „OpenStreetMap“ (OSM). OpenStreetMap ist ein Service der Openstreetmap Foundation, 132 Maney Hill Road, Sutton Coldfield, West Midlands, B72 1JU, United Kingdom. Damit Ihnen die Karte angezeigt werden kann, wird Ihre IP-Adresse an OpenStreetMap weitergeleitet. Wie OpenStreetMap Ihre Daten speichert, können Sie auf der Datenschutzseite von OpenStreetMap und hier http://wiki.openstreetmap.org/wiki/Legal_FAQ erfahren.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenStreetMap&lt;br /&gt;
&lt;br /&gt;
Wir binden die Landkarten des Dienstes &amp;quot;OpenStreetMap&amp;quot; ein (https://www.openstreetmap.org), die auf Grundlage der Open Data Commons Open Database Lizenz (ODbL) durch die OpenStreetMap Foundation (OSMF) angeboten werden. Datenschutzerklärung: https://wiki.openstreetmap.org/wiki/Privacy_Policy).&lt;br /&gt;
&lt;br /&gt;
Nach unserer Kenntnis werden die Daten der Nutzer durch OpenStreetMap ausschließlich zu Zwecken der Darstellung der Kartenfunktionen und Zwischenspeicherung der gewählten Einstellungen verwendet. Zu diesen Daten können insbesondere IP-Adressen und Standortdaten der Nutzer gehören, die jedoch nicht ohne deren Einwilligung (im Regelfall im Rahmen der Einstellungen ihrer Mobilgeräte vollzogen), erhoben werden. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fonts ===&lt;br /&gt;
==== Links ====&lt;br /&gt;
https://www.mittwald.de/blog/mittwald/howtos/dem-datenschutz-zuliebe-wie-ihr-google-fonts-lokal-in-eure-webseiten-einbindet&lt;br /&gt;
&lt;br /&gt;
==== Beispiel 1 - Allgemein ====&lt;br /&gt;
&lt;br /&gt;
Verwendung von Scriptbibliotheken (Google Webfonts)&lt;br /&gt;
&lt;br /&gt;
Um unsere Inhalte browserübergreifend korrekt und graﬁsch ansprechend darzustellen, verwenden wir auf dieser Website Scriptbibliotheken und Schriftbibliotheken wie z. B. Google Webfonts (https://www.google.com/webfonts). Google Webfonts werden zur Vermeidung mehrfachen Ladens in den Cache Ihres Browsers übertragen. Falls der Browser die Google Webfonts nicht unterstützt oder den Zugriﬀ unterbindet, werden Inhalte in einer Standardschrift angezeigt.&lt;br /&gt;
Der Aufruf von Scriptbibliotheken oder Schriftbibliotheken löst automatisch eine Verbindung zum Betreiber der Bibliothek aus. Dabei ist es theoretisch möglich – aktuell allerdings auch unklar ob und ggf. zu welchen Zwecken – dass Betreiber entsprechender Bibliotheken Daten erheben.&lt;br /&gt;
&lt;br /&gt;
Die Datenschutzrichtlinie des Bibliothekbetreibers Google ﬁnden Sie hier:&lt;br /&gt;
https://policies.google.com/privacy?hl=de&lt;br /&gt;
&lt;br /&gt;
==== Beispiel 2 ====&lt;br /&gt;
Google Fonts&lt;br /&gt;
&lt;br /&gt;
Zur Darstellung der Schrift auf dieser Website setzten wir externe Schriftarten von Google Fonts ein.&lt;br /&gt;
Dieser Dienst wird von der Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043 USA, nachfolgend „Google“ angeboten.&lt;br /&gt;
Google ist nach dem „EU-US Privacy Shield“ zertifiziert und garantiert dadurch die Einhaltung der Datenschutzvorgaben der EU bei der Verarbeitung der Daten in den USA.&lt;br /&gt;
 &lt;br /&gt;
https://www.privacyshield.gov/participant?id=a2zt000000001L5AAI&amp;amp;status=Active&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf dieser Website wird eine Verbindung zu  Google-Server in den USA aufgebaut, um die Schrift zu laden oder diese zu aktualisieren.&lt;br /&gt;
&lt;br /&gt;
Durch diese Verbindung kann Google erkennen, von welcher Website eine Anfrage gestellt wird und an welche IP-Adresse die Schrift übermittelt wird.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO. Das berechtigte Interesse des Anbieters besteht an der Optimierung und dem wirtschaftlichen Betrieb der Website.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen, insbesondere zu den Möglichkeiten der Unterbindung der Datennutzung, bietet Google unter den nachfolgenden Links an:&lt;br /&gt;
&lt;br /&gt;
https://policies.google.com/privacy&lt;br /&gt;
https://adssettings.google.com/authenticated.&lt;br /&gt;
&lt;br /&gt;
=== Ärzte ===&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Impressum&lt;br /&gt;
    Datenschutz&lt;br /&gt;
&lt;br /&gt;
PATIENTENINFORMATION ZUM DATENSCHUTZ&lt;br /&gt;
&lt;br /&gt;
Sehr geehrte Patientin, sehr geehrter Patient,&lt;br /&gt;
der Schutz Ihrer personenbezogenen Daten ist uns wichtig. Nach der EU-Datenschutz-Grundverordnung (DSGVO) sind wir verpflichtet, Sie darüber zu informieren, zu welchem Zweck unsere Praxis Daten erhebt, speichert oder weiterleitet. Der Information können Sie auch entnehmen, welche Rechte Sie in puncto Datenschutz haben.&lt;br /&gt;
1. VERANTWORTLICHKEIT FÜR DIE DATENVERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Verantwortlich für die Datenverarbeitung ist:&lt;br /&gt;
Praxisname&lt;br /&gt;
Verhaltenstherapeutische Praxis Dr. rer. nat. Dipl. Psych. Anja Schwarz&lt;br /&gt;
Adresse&lt;br /&gt;
Böllatstraße 4, 72622 Neckarhausen / Nürtingen&lt;br /&gt;
Kontaktdaten&lt;br /&gt;
Tel: 07022 244352&lt;br /&gt;
Tax: 07022 244351&lt;br /&gt;
E-Mail: schwarz@schwarz-psychotherapie.de&lt;br /&gt;
Homepage: http//www.schwarz-psychotherapie.de&lt;br /&gt;
&lt;br /&gt;
2. ZWECK DER DATENVERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Die Datenverarbeitung erfolgt aufgrund gesetzlicher Vorgaben, um den Behandlungsvertrag zwischen Ihnen und Ihrem behandelnden Psychotgherapeuten und die damit verbundenen Pflichten zu erfüllen.&lt;br /&gt;
Hierzu verarbeiten wir Ihre personenbezogenen Daten, insbesondere Ihre Gesundheitsdaten. Dazu zählen Anamnesen, Diagnosen, Therapievorschläge und Befunde, die wir oder andere Ärzte erheben. Zu diesen Zwecken können uns auch andere Ärzte oder Psychotherapeuten, bei denen Sie in Behandlung sind, Daten zur Verfügung stellen (z.B. in Arztbriefen).&lt;br /&gt;
Die Erhebung von Gesundheitsdaten ist Voraussetzung für Ihre Behandlung. Werden die notwendigen Informationen nicht bereitgestellt, kann eine sorgfältige Behandlung nicht erfolgen.&lt;br /&gt;
&lt;br /&gt;
3. EMPFÄNGER IHRER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir übermitteln Ihre personenbezogenen Daten nur dann an Dritte, wenn dies gesetzlich erlaubt ist oder Sie eingewilligt haben.&lt;br /&gt;
Empfänger Ihrer personenbezogenen Daten können vor allem andere Ärzte / Psychotherapeuten, Kassenärztliche Vereinigungen, Krankenkassen, der Medizinische Dienst der Krankenversicherung, Ärztekammern und privatärztliche Verrechnungsstellen sein.&lt;br /&gt;
Die Übermittlung erfolgt überwiegend zum Zwecke der Abrechnung der bei Ihnen erbrachten Leistungen, zur Klärung von medizinischen und sich aus Ihrem Versicherungsverhältnis ergebenden Fragen. Im Einzelfall erfolgt die Übermittlung von Daten an weitere berechtigte Empfänger.&lt;br /&gt;
&lt;br /&gt;
4. SPEICHERUNG IHRER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir bewahren Ihre personenbezogenen Daten nur solange auf, wie dies für die Durchführung der Behandlung erforderlich ist.&lt;br /&gt;
Aufgrund rechtlicher Vorgaben sind wir dazu verpflichtet, diese Daten mindestens 10 Jahre nach Abschluss der Behandlung aufzubewahren. Nach anderen Vorschriften können sich längere Aufbewahrungsfristen ergeben, zum Beispiel 30 Jahre bei Röntgenaufzeichnungen laut Paragraf 28 Absatz 3 der Röntgenverordnung.&lt;br /&gt;
&lt;br /&gt;
== Rechte ==&lt;br /&gt;
Rechte der User&lt;br /&gt;
Quelle Datenschutz.org&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AUSKUNFT, BERICHTIGUNG UND LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
Die folgende Auflistung umfasst alle Rechte der Betroffenen nach der DS-GVO. Rechte, die für die eigene Webseite keine Relevanz haben, müssen nicht genannt werden. Insoweit kann die Auflistung gekürzt werden.&lt;br /&gt;
Werden personenbezogene Daten von Ihnen verarbeitet, sind Sie Betroffener i.S.d. DS-GVO und es stehen Ihnen folgende Rechte gegenüber dem Verantwortlichen zu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AUSKUNFTSRECHT&lt;br /&gt;
&lt;br /&gt;
Sie können von dem Verantwortlichen eine Bestätigung darüber verlangen, ob personenbezogene Daten, die Sie betreffen, von uns verarbeitet werden. &lt;br /&gt;
Liegt eine solche Verarbeitung vor, können Sie von dem Verantwortlichen über folgende Informationen Auskunft verlangen:&lt;br /&gt;
(1) die Zwecke, zu denen die personenbezogenen Daten verarbeitet werden;&lt;br /&gt;
(2) die Kategorien von personenbezogenen Daten, welche verarbeitet werden;&lt;br /&gt;
(3) die Empfänger bzw. die Kategorien von Empfängern, gegenüber denen die Sie betreffenden personenbezogenen Daten offengelegt wurden oder noch offengelegt werden;&lt;br /&gt;
(4) die geplante Dauer der Speicherung der Sie betreffenden personenbezogenen Daten oder, falls konkrete Angaben hierzu nicht möglich sind, Kriterien für die Festlegung der Speicherdauer;&lt;br /&gt;
(5) das Bestehen eines Rechts auf Berichtigung oder Löschung der Sie betreffenden personenbezogenen Daten, eines Rechts auf Einschränkung der Verarbeitung durch den Verantwortlichen oder eines Widerspruchsrechts gegen diese Verarbeitung; &lt;br /&gt;
(6) das Bestehen eines Beschwerderechts bei einer Aufsichtsbehörde;&lt;br /&gt;
(7) alle verfügbaren Informationen über die Herkunft der Daten, wenn die personenbezogenen Daten nicht bei der betroffenen Person erhoben werden;&lt;br /&gt;
(8) das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling gemäß Art. 22 Abs. 1 und 4 DSGVO und – zumindest in diesen Fällen – aussagekräftige Informationen über die involvierte Logik sowie die Tragweite und die angestrebten Auswirkungen einer derartigen Verarbeitung für die betroffene Person.&lt;br /&gt;
&lt;br /&gt;
Ihnen steht das Recht zu, Auskunft darüber zu verlangen, ob die Sie betreffenden personenbezogenen Daten in ein Drittland oder an eine internationale Organisation übermittelt werden. In diesem Zusammenhang können Sie verlangen, über die geeigneten Garantien gem. Art. 46 DSGVO im Zusammenhang mit der Übermittlung unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Bei einer Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Dieses Auskunftsrecht kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF BERICHTIGUNG&lt;br /&gt;
&lt;br /&gt;
Sie haben ein Recht auf Berichtigung und/oder Vervollständigung gegenüber dem Verantwortlichen, sofern die verarbeiteten personenbezogenen Daten, die Sie betreffen, unrichtig oder unvollständig sind. Der Verantwortliche hat die Berichtigung unverzüglich vorzunehmen.&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Ihr Recht auf Berichtigung kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RECHT AUF EINSCHRÄNKUNG DER VERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Unter den folgenden Voraussetzungen können Sie die Einschränkung der Verarbeitung der Sie betreffenden personenbezogenen Daten verlangen.&lt;br /&gt;
&lt;br /&gt;
(1) wenn Sie die Richtigkeit der Sie betreffenden personenbezogenen für eine Dauer bestreiten, die es dem Verantwortlichen ermöglicht, die Richtigkeit der personenbezogenen Daten zu überprüfen;&lt;br /&gt;
&lt;br /&gt;
(2) die Verarbeitung unrechtmäßig ist und Sie die Löschung der personenbezogenen Daten ablehnen und stattdessen die Einschränkung der Nutzung der personenbezogenen Daten verlangen;&lt;br /&gt;
&lt;br /&gt;
(3) der Verantwortliche die personenbezogenen Daten für die Zwecke der Verarbeitung nicht länger benötigt, Sie diese jedoch zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen benötigen, oder&lt;br /&gt;
&lt;br /&gt;
(4) wenn Sie Widerspruch gegen die Verarbeitung gemäß Art. 21 Abs. 1 DSGVO eingelegt haben und noch nicht feststeht, ob die berechtigten Gründe des Verantwortlichen gegenüber Ihren Gründen überwiegen.&lt;br /&gt;
&lt;br /&gt;
Wurde die Verarbeitung der Sie betreffenden personenbezogenen Daten eingeschränkt, dürfen diese Daten – von ihrer Speicherung abgesehen – nur mit Ihrer Einwilligung oder zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen oder zum Schutz der Rechte einer anderen natürlichen oder juristischen Person oder aus Gründen eines wichtigen öffentlichen Interesses der Union oder eines Mitgliedstaats verarbeitet werden.&lt;br /&gt;
Wurde die Einschränkung der Verarbeitung nach den o.g. Voraussetzungen eingeschränkt, werden Sie von dem Verantwortlichen unterrichtet bevor die Einschränkung aufgehoben wird.&lt;br /&gt;
&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
&lt;br /&gt;
Ihr Recht auf Einschränkung der Verarbeitung kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
a) Löschungspflicht&lt;br /&gt;
Sie können von dem Verantwortlichen verlangen, dass die Sie betreffenden personenbezogenen Daten unverzüglich gelöscht werden, und der Verantwortliche ist verpflichtet, diese Daten unverzüglich zu löschen, sofern einer der folgenden Gründe zutrifft:&lt;br /&gt;
&lt;br /&gt;
(1) Die Sie betreffenden personenbezogenen Daten sind für die Zwecke, für die sie erhoben oder auf sonstige Weise verarbeitet wurden, nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
(2) Sie widerrufen Ihre Einwilligung, auf die sich die Verarbeitung gem. Art. 6 Abs. 1 lit. a oder Art. 9 Abs. 2 lit. a DSGVO stützte, und es fehlt an einer anderweitigen Rechtsgrundlage für die Verarbeitung. &lt;br /&gt;
&lt;br /&gt;
(3) Sie legen gem. Art. 21 Abs. 1 DSGVO Widerspruch gegen die Verarbeitung ein und es liegen keine vorrangigen berechtigten Gründe für die Verarbeitung vor, oder Sie legen gem. Art. 21 Abs. 2 DSGVO Widerspruch gegen die Verarbeitung ein. &lt;br /&gt;
&lt;br /&gt;
(4) Die Sie betreffenden personenbezogenen Daten wurden unrechtmäßig verarbeitet. &lt;br /&gt;
&lt;br /&gt;
(5) Die Löschung der Sie betreffenden personenbezogenen Daten ist zur Erfüllung einer rechtlichen Verpflichtung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten erforderlich, dem der Verantwortliche unterliegt. &lt;br /&gt;
&lt;br /&gt;
(6) Die Sie betreffenden personenbezogenen Daten wurden in Bezug auf angebotene Dienste der Informationsgesellschaft gemäß Art. 8 Abs. 1 DSGVO erhoben.&lt;br /&gt;
&lt;br /&gt;
INFORMATION AN DRITTE&lt;br /&gt;
&lt;br /&gt;
Hat der Verantwortliche die Sie betreffenden personenbezogenen Daten öffentlich gemacht und ist er gem. Art. 17 Abs. 1 DSGVO zu deren Löschung verpflichtet, so trifft er unter Berücksichtigung der verfügbaren Technologie und der Implementierungskosten angemessene Maßnahmen, auch technischer Art, um für die Datenverarbeitung Verantwortliche, die die personenbezogenen Daten verarbeiten, darüber zu informieren, dass Sie als betroffene Person von ihnen die Löschung aller Links zu diesen personenbezogenen Daten oder von Kopien oder Replikationen dieser personenbezogenen Daten verlangt haben. &lt;br /&gt;
&lt;br /&gt;
AUSNAHMEN&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Löschung besteht nicht, soweit die Verarbeitung erforderlich ist&lt;br /&gt;
&lt;br /&gt;
(1) zur Ausübung des Rechts auf freie Meinungsäußerung und Information;&lt;br /&gt;
&lt;br /&gt;
(2) zur Erfüllung einer rechtlichen Verpflichtung, die die Verarbeitung nach dem Recht der Union oder der Mitgliedstaaten, dem der Verantwortliche unterliegt, erfordert, oder zur Wahrnehmung einer Aufgabe, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, die dem Verantwortlichen übertragen wurde;&lt;br /&gt;
&lt;br /&gt;
(3) aus Gründen des öffentlichen Interesses im Bereich der öffentlichen Gesundheit gemäß Art. 9 Abs. 2 lit. h und i sowie Art. 9 Abs. 3 DSGVO;&lt;br /&gt;
&lt;br /&gt;
(4) für im öffentlichen Interesse liegende Archivzwecke, wissenschaftliche oder historische Forschungszwecke oder für statistische Zwecke gem. Art. 89 Abs. 1 DSGVO, soweit das unter Abschnitt a) genannte Recht voraussichtlich die Verwirklichung der Ziele dieser Verarbeitung unmöglich macht oder ernsthaft beeinträchtigt, oder&lt;br /&gt;
&lt;br /&gt;
(5) zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&lt;br /&gt;
&lt;br /&gt;
Recht auf Unterrichtung&lt;br /&gt;
&lt;br /&gt;
Haben Sie das Recht auf Berichtigung, Löschung oder Einschränkung der Verarbeitung gegenüber dem Verantwortlichen geltend gemacht, ist dieser verpflichtet, allen Empfängern, denen die Sie betreffenden personenbezogenen Daten offengelegt wurden, diese Berichtigung oder Löschung der Daten oder Einschränkung der Verarbeitung mitzuteilen, es sei denn, dies erweist sich als unmöglich oder ist mit einem unverhältnismäßigen Aufwand verbunden.&lt;br /&gt;
Ihnen steht gegenüber dem Verantwortlichen das Recht zu, über diese Empfänger unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Recht auf Datenübertragbarkeit&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, die Sie betreffenden personenbezogenen Daten, die Sie dem Verantwortlichen bereitgestellt haben, in einem strukturierten, gängigen und maschinenlesbaren Format zu erhalten. Außerdem haben Sie das Recht diese Daten einem anderen Verantwortlichen ohne Behinderung durch den Verantwortlichen, dem die personenbezogenen Daten bereitgestellt wurden, zu übermitteln, sofern&lt;br /&gt;
&lt;br /&gt;
(1) die Verarbeitung auf einer Einwilligung gem. Art. 6 Abs. 1 lit. a DSGVO oder Art. 9 Abs. 2 lit. a DSGVO oder auf einem Vertrag gem. Art. 6 Abs. 1 lit. b DSGVO beruht und&lt;br /&gt;
&lt;br /&gt;
(2) die Verarbeitung mithilfe automatisierter Verfahren erfolgt.&lt;br /&gt;
&lt;br /&gt;
In Ausübung dieses Rechts haben Sie ferner das Recht, zu erwirken, dass die Sie betreffenden personenbezogenen Daten direkt von einem Verantwortlichen einem anderen Verantwortlichen übermittelt werden, soweit dies technisch machbar ist. Freiheiten und Rechte anderer Personen dürfen hierdurch nicht beeinträchtigt werden.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Datenübertragbarkeit gilt nicht für eine Verarbeitung personenbezogener Daten, die für die Wahrnehmung einer Aufgabe erforderlich ist, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, die dem Verantwortlichen übertragen wurde.&lt;br /&gt;
&lt;br /&gt;
WIDERSPRUCHSRECHT&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung der Sie betreffenden personenbezogenen Daten, die aufgrund von Art. 6 Abs. 1 lit. e oder f DSGVO erfolgt, Widerspruch einzulegen; dies gilt auch für ein auf diese Bestimmungen gestütztes Profiling. &lt;br /&gt;
Der Verantwortliche verarbeitet die Sie betreffenden personenbezogenen Daten nicht mehr, es sei denn, er kann zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die Ihre Interessen, Rechte und Freiheiten überwiegen, oder die Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&lt;br /&gt;
&lt;br /&gt;
Werden die Sie betreffenden personenbezogenen Daten verarbeitet, um Direktwerbung zu betreiben, haben Sie das Recht, jederzeit Widerspruch gegen die Verarbeitung der Sie betreffenden personenbezogenen Daten zum Zwecke derartiger Werbung einzulegen; dies gilt auch für das Profiling, soweit es mit solcher Direktwerbung in Verbindung steht.&lt;br /&gt;
Widersprechen Sie der Verarbeitung für Zwecke der Direktwerbung, so werden die Sie betreffenden personenbezogenen Daten nicht mehr für diese Zwecke verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Sie haben die Möglichkeit, im Zusammenhang mit der Nutzung von Diensten der Informationsgesellschaft – ungeachtet der Richtlinie 2002/58/EG – Ihr Widerspruchsrecht mittels automatisierter Verfahren auszuüben, bei denen technische Spezifikationen verwendet werden.&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Sie haben auch das Recht, aus Gründen, die sich aus Ihrer besonderen Situation ergeben, bei der Verarbeitung Sie betreffender personenbezogener Daten, die zu wissenschaftlichen oder historischen Forschungszwecken oder zu statistischen Zwecken gem. Art. 89 Abs. 1 DSGVO erfolgt, dieser zu widersprechen.&lt;br /&gt;
Ihr Widerspruchsrecht kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF WIDERRUF DER DATENSCHUTZRECHTLICHEN EINWILLIGUNGSERKLÄRUNG&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, Ihre datenschutzrechtliche Einwilligungserklärung jederzeit zu widerrufen. Durch den Widerruf der Einwilligung wird die Rechtmäßigkeit der aufgrund der Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt.&lt;br /&gt;
&lt;br /&gt;
Automatisierte Entscheidung im Einzelfall einschließlich Profiling&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, nicht einer ausschließlich auf einer automatisierten Verarbeitung – einschließlich Profiling – beruhenden Entscheidung unterworfen zu werden, die Ihnen gegenüber rechtliche Wirkung entfaltet oder Sie in ähnlicher Weise erheblich beeinträchtigt. Dies gilt nicht, wenn die Entscheidung &lt;br /&gt;
&lt;br /&gt;
(1)	für den Abschluss oder die Erfüllung eines Vertrags zwischen Ihnen und dem Verantwortlichen erforderlich ist,&lt;br /&gt;
&lt;br /&gt;
(2)	aufgrund von Rechtsvorschriften der Union oder der Mitgliedstaaten, denen der Verantwortliche unterliegt, zulässig ist und diese Rechtsvorschriften angemessene Maßnahmen zur Wahrung Ihrer Rechte und Freiheiten sowie Ihrer berechtigten Interessen enthalten oder&lt;br /&gt;
&lt;br /&gt;
(3)	mit Ihrer ausdrücklichen Einwilligung erfolgt.&lt;br /&gt;
&lt;br /&gt;
Allerdings dürfen diese Entscheidungen nicht auf besonderen Kategorien personenbezogener Daten nach Art. 9 Abs. 1 DSGVO beruhen, sofern nicht Art. 9 Abs. 2 lit. a oder g DSGVO gilt und angemessene Maßnahmen zum Schutz der Rechte und Freiheiten sowie Ihrer berechtigten Interessen getroffen wurden.&lt;br /&gt;
Hinsichtlich der in (1) und (3) genannten Fälle trifft der Verantwortliche angemessene Maßnahmen, um die Rechte und Freiheiten sowie Ihre berechtigten Interessen zu wahren, wozu mindestens das Recht auf Erwirkung des Eingreifens einer Person seitens des Verantwortlichen, auf Darlegung des eigenen Standpunkts und auf Anfechtung der Entscheidung gehört.&lt;br /&gt;
&lt;br /&gt;
Recht auf Beschwerde bei einer Aufsichtsbehörde&lt;br /&gt;
&lt;br /&gt;
Unbeschadet eines anderweitigen verwaltungsrechtlichen oder gerichtlichen Rechtsbehelfs steht Ihnen das Recht auf Beschwerde bei einer Aufsichtsbehörde, insbesondere in dem Mitgliedstaat ihres Aufenthaltsorts, ihres Arbeitsplatzes oder des Orts des mutmaßlichen Verstoßes, zu, wenn Sie der Ansicht sind, dass die Verarbeitung der Sie betreffenden personenbezogenen Daten gegen die DSGVO verstößt. &lt;br /&gt;
Die Aufsichtsbehörde, bei der die Beschwerde eingereicht wurde, unterrichtet den Beschwerdeführer über den Stand und die Ergebnisse der Beschwerde einschließlich der Möglichkeit eines gerichtlichen Rechtsbehelfs nach Art. 78 DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kriterien zum Ergänzen der Datenschutzerklärung ==&lt;br /&gt;
Umfang, Rechtsgrundlage, Zweck, Dauer, Widerspruchsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
== Komplette Beispiele ==&lt;br /&gt;
Im Zweifel müssen die Beispiele anhand der üblichen Kriterien ergänzt werden (siehe oben)&lt;br /&gt;
=== Beispiel MVZ-Bad Reichenhall ===&lt;br /&gt;
&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Wir freuen uns über Ihren Besuch auf unserer Webseite sowie über Ihr Interesse an unserem Unternehmen. Wir verstehen Datenschutz als kundenorientiertes Qualitätsmerkmal. Der Schutz Ihrer persönlichen Daten und die Wahrung Ihres Persönlichkeitsrechts sind uns wichtig.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Datenschutzerklärung möchten wir alle Besucher unserer Webseite transparent über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren und Sie über die Ihnen zustehenden Rechte aufklären.&lt;br /&gt;
&lt;br /&gt;
Eine Nutzung unserer Webseite ist grundsätzlich ohne die Angabe von personenbezogener Daten möglich. Sollten Sie jedoch über unsere Webseite Dienste unseres Unternehmens in Anspruch nehmen, kann die Verarbeitung Ihrer personenbezogenen Daten erforderlich werden.&lt;br /&gt;
&lt;br /&gt;
Die beim Besuch unserer Webseiten automatisch erhobenen Daten oder aber bei der Inanspruchnahme von Diensten von Ihnen eingetragenen personenbezogenen Daten, werden gemäß den jeweils aktuellen gesetzlichen Bestimmungen zum Schutz personenbezogener Daten verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Ist eine Verarbeitung Ihrer personenbezogenen Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir grundsätzlich eine Einwilligung für den erforderlichen Zweck der Verarbeitung ein.&lt;br /&gt;
&lt;br /&gt;
Als für die Verarbeitung verantwortliches Unternehmen, haben wir technische und organisatorische Maßnahmen festgelegt, um ein möglichst hohes Schutzniveau Ihrer personenbezogenen Daten sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
Wir weisen jedoch darauf hin, dass eine Datenübertragung über das World Wide Web grundsätzlich Sicherheitslücken aufweisen kann.&lt;br /&gt;
&lt;br /&gt;
Möchten Sie Dienste unseres Unternehmens in Anspruch nehmen und hierfür nicht den Weg der Datenübermittlung über das World Wide Web nutzen wollen, beseht auch die Möglichkeit der telefonischen Kontaktaufnahme.&lt;br /&gt;
&lt;br /&gt;
Kontaktdaten des für die Verarbeitung Verantwortlichen&lt;br /&gt;
&lt;br /&gt;
Verantwortlicher im Sinne der Datenschutz-Grundverordnung, ist:&lt;br /&gt;
&lt;br /&gt;
MVZ Bad Reichenhall&lt;br /&gt;
Salus Gesundheitszentrum GmbH u. Co KG&lt;br /&gt;
Rinckstr. 7-9&lt;br /&gt;
83435 Bad Reichenhall&lt;br /&gt;
info(@)salus-klinik.de&lt;br /&gt;
&lt;br /&gt;
Als Datenschutzbeauftragter ist bestellt:&lt;br /&gt;
&lt;br /&gt;
Herr Stephan Hartinger&lt;br /&gt;
Coseco GmbH&lt;br /&gt;
Telefon: 08232 80988-70&lt;br /&gt;
E-Mail: datenschutz@salus-klinik.de&lt;br /&gt;
&lt;br /&gt;
Erhebung von allgemeinen Zugriffsinformationen&lt;br /&gt;
&lt;br /&gt;
Bei jedem Aufruf unserer Webseite werden automatisch Server Log File Informationen, die Ihr Browser an uns übermittelt, erfasst. Dies sind:&lt;br /&gt;
&lt;br /&gt;
    IP-Adresse (Internet-Protokoll-Adresse) des zugreifenden Computers&lt;br /&gt;
    die Webseite, von der aus Sie uns besuchen (Referrer)&lt;br /&gt;
    die Webseite, die Sie bei uns besuchen&lt;br /&gt;
    das Datum und die Dauer des Besuches&lt;br /&gt;
    Browsertyp und Browser-Einstellungen&lt;br /&gt;
    Betriebssystem&lt;br /&gt;
&lt;br /&gt;
Wir weisen darauf hin, dass diese Daten nicht einer bestimmten Person zugeordnet werden können. Wir verwenden diese technischen Zugriffsinformationen ausschließlich für folgende Zwecke:&lt;br /&gt;
&lt;br /&gt;
    Um die Attraktivität und Bedienbarkeit unserer Webseiten zu verbessern,&lt;br /&gt;
    Um technische Probleme auf unserer Webseite frühzeitig zu erkennen.&lt;br /&gt;
    die Inhalte unserer Internetseite korrekt auszuliefern,&lt;br /&gt;
    und um Strafverfolgungsbehörden im Falle eines Cyberangriffes die zur Strafverfolgung notwendigen Informationen bereitzustellen.&lt;br /&gt;
&lt;br /&gt;
Diese Daten werden für als technische Vorkehrung maximal 7 Tage zum Schutz der Datenverarbeitungssysteme gegen unerlaubte Zugriffe gespeichert.&lt;br /&gt;
&lt;br /&gt;
Erhebung und Weitergabe von personenbezogenen Daten&lt;br /&gt;
&lt;br /&gt;
Wir verwenden Ihre persönlichen Daten nur zu den auf dieser Informationsseite zum Datenschutz angeführten Zwecken.&lt;br /&gt;
Auf unserer Webseite existieren folgende Eingabemasken für die Erhebung von personenbezogenen Daten:&lt;br /&gt;
&lt;br /&gt;
Formulare auf unserer Webseite&lt;br /&gt;
&lt;br /&gt;
Kontaktaufnahme per Mail oder Kontaktformular&lt;br /&gt;
Wir bieten Ihnen auf unserer Seite die Möglichkeit, mit uns per E-Mail und/oder über ein Kontaktformular in Verbindung zu treten.&lt;br /&gt;
Sofern Sie per E-Mail oder über ein Kontaktformular mit uns in Kontakt treten, werden die von Ihnen übermittelten personenbezogenen Daten automatisch gespeichert.&lt;br /&gt;
Solche, auf freiwilliger Basis von Ihnen an uns übermittelten personenbezogenen Daten, werden für Zwecke der Bearbeitung Ihrer Anfrage oder der Kontaktaufnahme zur betroffenen Person gespeichert. Es erfolgt keine Weitergabe dieser personenbezogenen Daten an Dritte.&lt;br /&gt;
&lt;br /&gt;
Wofür werden Cookies verwendet?&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite benutzt an mehreren Stellen sogenannte Cookies. Ausführliche Informationen und welche Cookies zum Einsatz kommen, können Sie unserer Cookie Richtlinie (Link auf Cookie Richtlinie) entnehmen.&lt;br /&gt;
&lt;br /&gt;
Einsatz und Verwendung von Tracking-, Analyse-Tools&lt;br /&gt;
&lt;br /&gt;
Auf dieser Webseite kommen keine Tracking-, Analyse-Tools&lt;br /&gt;
&lt;br /&gt;
Löschung, Sperrung und Dauer der Speicherung von personenbezogenen Daten&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten und speichern Ihre personenbezogenen Daten nur für den Zeitraum, der zur Erreichung des jeweiligen Speicherungszwecks erforderlich ist oder wie es die vom Gesetzgeber vorgesehenen vielfältigen Aufbewahrungsfristen vorsehen.&lt;br /&gt;
Nach Fortfall eines Speicherungszweckes oder nach Ablauf der vom Gesetzgeber vorgesehenen Aufbewahrungsfrist, werden die personenbezogenen Daten routinemäßig und entsprechend den gesetzlichen Vorschriften für eine weitere Verarbeitung gesperrt oder gelöscht.&lt;br /&gt;
&lt;br /&gt;
Datenschutzrechte der betroffenen Person&lt;br /&gt;
&lt;br /&gt;
Wenn Sie Fragen zu Ihren personenbezogenen Daten haben, können Sie sich jederzeit schriftlich an uns wenden. Sie haben nach DS-GVO folgende Rechte:&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Auskunft (Unterpunkt Art. 15 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben jederzeit das Recht eine Auskunft darüber zu erhalten, welche Kategorien und Informationen zu Ihren personenbezogenen Daten von uns zu welchem Zweck verarbeitet und wie lange und nach welchen Kriterien diese Daten gespeichert werden und ob in diesem Zusammenhang eine automatisierte Entscheidungsfindung einschließlich Profiling angewendet wird. Außerdem haben Sie das Recht zu erfahren welche Empfänger bzw. Kategorien von Empfängern Ihre Daten offengelegt worden sind oder noch offengelegt werden; insbesondere bei Empfängern in Drittländer oder internationalen Organisationen. In diesem Fall haben Sie auch das Recht über geeignete Garantien im Zusammenhang mit der Übermittlung Ihrer personenbezogenen Daten unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Neben dem Beschwerderecht bei der Aufsichtsbehörde und dem Informationsrecht über die Herkunft Ihrer Daten haben Sie das Recht auf Löschung, Berichtigung sowie das Recht auf Einschränkung für bzw. Widerspruchsrecht gegen eine Verarbeitung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
In allen oben genannten Fällen haben Sie das Recht vom Datenbearbeiter eine kostenfreie Kopie Ihrer personenbezogenen Daten, die von uns verarbeitet werden, zu verlangen. Für alle weiteren Kopien, die Sie beantragen oder die über das Informationsrecht der betroffenen Person hinausgehen, sind wir berechtigt eine angemessene Verwaltungsgebühr zu erheben.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Berichtigung (Art. 16 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, der unverzüglichen Berichtigung Ihrer unrichtigen personenbezogenen Daten zu verlangen und unter Berücksichtigung der Zwecke der Verarbeitung, die Vervollständigung unvollständiger personenbezogener Daten auch mittels einer ergänzenden Erklärung zu verlangen. Möchten Sie das Recht auf Berichtigung in Anspruch nehmen, können Sie sich jederzeit an unseren Datenschutzbeauftragten oder den für die Verarbeitung Verantwortlichen wenden.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Löschung (Art. 17 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, die unverzügliche Löschung Ihrer Daten zu verlangen („Recht auf Vergessenwerden“) insbesondere dann, wenn die Speicherung der Daten nicht mehr notwendig ist, Sie Ihre Einwilligung zur Datenverarbeitung widerrufen, Ihre Daten unrechtmäßig verarbeitet wurden oder unrechtmäßig erhoben wurden und eine Rechtspflicht zum Löschen nach EU- oder nationalem Recht besteht.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Vergessenwerden findet jedoch keine Anwendung, wenn ein überwiegendes Recht auf freie Meinungsäußerung bzw. der Informationsfreiheit besteht, die Datenspeicherung für die Erfüllung einer rechtlichen Verpflichtung (z. B. Aufbewahrungspflichten) erforderlich ist, Archivzwecke der Löschung entgegenstehen oder die Speicherung zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen dient.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Einschränkung (Art. 18 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht auf Einschränkung der Verarbeitung Ihrer Daten durch den für die Verarbeitung Verantwortlichen zu verlangen, wenn die Richtigkeit der Daten von Ihnen bestritten wird, die Verarbeitung unrechtmäßig ist, Sie die Löschung Ihrer personenbezogenen Daten ablehnen und stattdessen eine Einschränkung der Verarbeitung verlangen, wenn die Erforderlichkeit für den Verarbeitungszweck entfällt oder Sie der Verarbeitung gemäß Artikel 21 Absatz 1 widersprochen haben, solange noch nicht feststeht, ob berechtigte Gründe unsererseits gegenüber Ihren überwiegen.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Datenübertragbarkeit (Art. 20 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht auf Übertragbarkeit Ihrer personenbezogenen Daten, welche Sie unserem Unternehmen in Form eines gängigen Formates bereitgestellt haben, damit Sie ohne Behinderung Ihre personenbezogenen Daten an einen anderen Verantwortlichen weiterleiten lassen können, sofern bspw. Ihrerseits eine Einwilligung vorliegt und die Verarbeitung mittels eines automatisierten Verfahrens erfolgt.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Widerspruch (Art. 21 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, jederzeit gegen die Erhebung, Verarbeitung oder Nutzung ihrer personenbezogenen Daten für Zwecke der Direktwerbung oder der Markt- und Meinungsforschung sowie der allgemeinen geschäftsmäßigen Datenverarbeitung zu widersprechen, es sei denn, wir können zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die Ihren Interessen, Rechten und Freiheiten überwiegen.&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus können Sie Ihr Recht auf Widerspruch nicht wahrnehmen, wenn eine Rechtsvorschrift die Erhebung, Verarbeitung oder Nutzung der Daten vorsieht oder zur Erhebung, Verarbeitung oder Nutzung verpflichtet.&lt;br /&gt;
&lt;br /&gt;
Beschwerderecht bei der Datenschutzaufsichtsbehörde (Art. 77 DS-GVO i. V. m § 19 BDSG)&lt;br /&gt;
&lt;br /&gt;
Ihnen wird das Recht zuerkannt, sich bei der zuständigen Aufsichtsbehörde zu beschweren, wenn sie der Ansicht sind, dass ein Verstoß bei der Verarbeitung Ihrer personenbezogenen Daten vorliegt.&lt;br /&gt;
&lt;br /&gt;
Recht auf Widerruf einer datenschutzrechtlichen Einwilligung (Art. 7 Abs. 3 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Eine erteilte Einwilligung für die Verarbeitung Ihrer personenbezogenen Daten können Sie jederzeit und ohne Angaben von Gründen widerrufen. Dies gilt auch für den Widerruf von Einwilligungserklärungen, die vor Inkrafttreten der EU-Datenschutz-Grundverordnung, uns gegenüber erteilt worden ist.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage der Verarbeitung&lt;br /&gt;
&lt;br /&gt;
Bei der Verarbeitung von personenbezogenen Daten, für die wir eine Einwilligung der betroffenen Person einholen, dient Art. 6 Abs. 1, Satz 1 a) der Datenschutz-Grundverordnung (DSGVO) als Rechtsgrundlage.Bei der Verarbeitung von personenbezogenen Daten, die zur Erfüllung eines Vertrages erforderlich sind, dessen Vertragspartei die betroffene Person ist, dient Art. 6 Ab. 1, Satz 1 b) (DSGVO) als Rechtsgrundlage. Diese Regelung umfasst auch Verarbeitungsvorgänge, die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind.&lt;br /&gt;
&lt;br /&gt;
Soweit eine Verarbeitung personenbezogener Daten zur Erfüllung einer rechtlichen Verpflichtung erforderlich ist, denen unser Unternehmen unterliegt, dient Art. 6 Abs. 1, Satz 1 c) (DSGVO) als Rechtsgrundlage.&lt;br /&gt;
&lt;br /&gt;
Ist die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich und überwiegen die Interessen, Grundrechte und Grundfreiheiten des Betroffenen das erstgenannte Interesse nicht, so dient Art. 6 Abs. 1 Satz 1 f) (DSGVO) als Rechtsgrundlage für die Verarbeitung. Das berechtige Interesse unseres Unternehmens liegt in der Durchführung unserer Geschäftstätigkeit sowie in der Analyse, Optimierung und Erhaltung der Sicherheit unseres Onlineangebotes.&lt;br /&gt;
&lt;br /&gt;
Übermittlung von Daten an Dritte&lt;br /&gt;
&lt;br /&gt;
Wir verkaufen oder verleihen generell keine Nutzerdaten. Eine Übermittlung an Dritte über den in dieser Datenschutzerklärung beschriebenen Rahmen hinaus, findet nur dann statt, wenn dies zur Abwicklung des jeweiligen angeforderten Dienstes nötig ist.&lt;br /&gt;
&lt;br /&gt;
Wir übermitteln Daten nur dann, wenn dazu eine rechtliche Verpflichtung besteht. Das ist dann der Fall, wenn staatliche Einrichtungen (z.B. Strafverfolgungsbehörden) schriftlich um Auskunft ersuchen oder eine richterliche Verfügung vorliegt.&lt;br /&gt;
&lt;br /&gt;
Eine Übermittlung von personenbezogenen Daten in sogenannte Drittstaaten außerhalb des EU/ EWR-Raumes findet nicht statt.&lt;br /&gt;
&lt;br /&gt;
Gesetzliche oder vertragliche Vorschriften zur Bereitstellung von personenbezogenen Daten sowie mögliche Folgen der Nichtbereitstellung&lt;br /&gt;
&lt;br /&gt;
Wir weisen hiermit darauf hin, dass die Bereitstellung von personenbezogenen Daten in bestimmten Fällen (z.B. Steuervorschriften) gesetzlich vorgeschrieben ist oder sich aus vertraglichen Regelungen (z.B. Angaben zum/des Vertragspartners) ergeben kann. Beispielsweise kann es für einen Vertragsabschluss erforderlich sein, dass die betroffene Person/der Vertragspartner seine personenbezogenen Daten zur Verfügung stellen muss, damit sein Anliegen (z.B. Bestellung) überhaupt von uns bearbeitet werden kann. Eine Verpflichtung zur Bereitstellung von personenbezogenen Daten ergibt sich vor allem bei Vertragsabschlüssen. Sollten in diesem Fall keine personenbezogenen Daten bereitgestellt werden, kann der Vertrag mit der betroffenen Person nicht abgeschlossen werden. Vor einer Bereitstellung personenbezogener Daten durch den Betroffenen kann sich der Betroffene an unseren Datenschutzbeauftragten oder an den für die Verarbeitung Verantwortlichen wenden. Der Datenschutzbeauftragte oder der für die Verarbeitung Verantwortliche klärt dann den Betroffenen darüber auf, ob die Bereitstellung der benötigten personenbezogenen Daten gesetzlich oder vertraglich vorgeschrieben bzw. für den Vertragsabschluss erforderlich ist und ob sich aus den Anliegen der betroffenen Person eine Verpflichtung ergibt, die personenbezogenen Daten bereitzustellen bzw. welche Folgen eine Nichtbereitstellung der gewünschten Daten für den Betroffenen hat.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel Justizministerium BW ===&lt;br /&gt;
==== Datenschutzhinweis ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzhinweis&lt;br /&gt;
Die nachfolgenden Datenschutzhinweise geben einen Überblick über die Erhebung und Verarbeitung Ihrer Daten. Die vollständigen Informationen ergeben sich aus der Datenschutzerklärung.&lt;br /&gt;
&lt;br /&gt;
Welche Daten erfassen wir von Ihnen?&lt;br /&gt;
1. Beim Aufruf unserer Webseite:&lt;br /&gt;
&lt;br /&gt;
Ihre IP-Adresse zusammen mit dem Zeitpunkt und Inhalt Ihres Abrufs einschließlich der übertragenen Datenmenge und der Meldung, ob der Abruf erfolgreich war. Diese Daten werden nach Ende des Zugriffs auf die Webseite gelöscht.&lt;br /&gt;
&lt;br /&gt;
2. Aufgrund ihrer Eingaben auf unserer Webseite:&lt;br /&gt;
&lt;br /&gt;
Auf dem Kontaktformular: Ihr Vor- und Nachname und Ihre E-Mail-Adresse&lt;br /&gt;
Wenn Sie bei uns Publikationen bestellen: Den Inhalt Ihrer Bestellung und sowie Ihr Geschlecht, Ihren Nachnamen, Ihre Anschrift und Ihre E-Mail-Adresse&lt;br /&gt;
Wenn Sie bei uns den Newsletter bestellen: Ihre E-Mail-Adresse&lt;br /&gt;
3. Weitere Daten erheben wir nicht.&lt;br /&gt;
Auf welche Weise erheben wir Ihre Daten?&lt;br /&gt;
Die Daten, die wir bei jedem Zugriff erheben, protokollieren wir automatisiert; ansonsten nur aufgrund Ihrer Eingaben und beim Bestellservice für Broschüren durch einen temporären Cookie.&lt;br /&gt;
Wofür nutzen wir Ihre Daten?&lt;br /&gt;
Ausschließlich zur Bereitstellung, Optimierung und Sicherheit unseres Internetangebots&lt;br /&gt;
Mit Ihrer Einwilligung zur Entgegenahme Ihrer Mitteilung und zur Abwicklung Ihrer Bestellung&lt;br /&gt;
Wir nutzen Ihre Daten auch&lt;br /&gt;
nicht zur Profilbildung&lt;br /&gt;
nicht für Werbung&lt;br /&gt;
grundätzlich nicht zur Weitergabe an Dritte, außer:&lt;br /&gt;
&lt;br /&gt;
Bei der Bestellung von Publikationen teilen wir Ihre Adressdaten dem Versanddienstleister mit&lt;br /&gt;
Zur Verfolgung rechtlicher Interessen, insbesondere wenn die Daten im Zusammenhang mit einem Angriff auf unsere IT-Strukturen stehen&lt;br /&gt;
Welche Rechte haben Sie:&lt;br /&gt;
Auskunft&lt;br /&gt;
Löschung&lt;br /&gt;
Berichtigung&lt;br /&gt;
Widerspruch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Datenschutz.org====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzerklärung&lt;br /&gt;
Das Bundesministerium der Justiz und für Verbraucherschutz nimmt den Schutz Ihrer personenbezogenen Daten sehr ernst. Wir möchten, dass Sie wissen, wann wir welche Daten erheben und wie wir sie verwenden. Wir haben technische und organisatorische Maßnahmen getroffen, die sicherstellen, dass die Vorschriften über den Datenschutz sowohl von uns als auch von externen Dienstleistern beachtet werden. Im Zuge der Weiterentwicklung unserer Webseiten und der Implementierung neuer Technologien, um unseren Service für Sie zu verbessern, können auch Änderungen dieser Datenschutzerklärung erforderlich werden. Daher empfehlen wir Ihnen, sich diese Datenschutzerklärung ab und zu erneut durchzulesen.&lt;br /&gt;
&lt;br /&gt;
Zugriff auf das Internetangebot&lt;br /&gt;
Jeder Zugriff auf das Internetangebot des Bundesministeriums der Justiz und für Verbraucherschutz wird in einer Protokolldatei gespeichert. In der Protokolldatei werden folgende Daten maximal 14 Tage gespeichert:&lt;br /&gt;
&lt;br /&gt;
Name der abgerufenen Datei&lt;br /&gt;
Datum und Uhrzeit des Abrufs&lt;br /&gt;
übertragene Datenmenge&lt;br /&gt;
Meldung, ob der Abruf erfolgreich war&lt;br /&gt;
Die gespeicherten Daten werden nur zur Optimierung des Internetangebotes ausgewertet.&lt;br /&gt;
Wenn Sie Informationsmaterial, Newsletter, Autogrammkarten oder Broschüren bestellen, fragen wir Sie nach Ihrem Namen und nach anderen persönlichen Informationen. Es unterliegt Ihrer freien Entscheidung, ob Sie diese Daten eingeben. Ihre Angaben speichern wir auf besonders geschützten Servern in Deutschland. Der Zugriff darauf ist nur wenigen besonders befugten Personen möglich, die mit der technischen, kaufmännischen oder redaktionellen Betreuung der Server befasst sind.&lt;br /&gt;
&lt;br /&gt;
Weitergabe personenbezogener Daten an Dritte&lt;br /&gt;
Daten, die beim Zugriff auf das Internetangebot des Bundesministeriums der Justiz und für Verbraucherschutz protokolliert worden sind, werden an Dritte nur übermittelt, soweit wir gesetzlich oder durch Gerichtsentscheidung dazu verpflichtet sind oder die Weitergabe im Falle von Angriffen auf die Internetinfrastruktur des BMJV zur Rechts- oder Strafverfolgung erforderlich ist. Eine Weitergabe zu anderen nichtkommerziellen oder zu kommerziellen Zwecken erfolgt nicht.&lt;br /&gt;
&lt;br /&gt;
Im Falle der Bestellung von Informationsmaterial verwenden wir die von Ihnen eingegebenen personenbezogenen Informationen nur innerhalb des Bundesministeriums der Justiz und für Verbraucherschutz und der mit dem Broschürenversand beauftragten Unternehmen. Wir geben sie nicht ohne Ihre ausdrückliche Einwilligung an Dritte weiter.&lt;br /&gt;
&lt;br /&gt;
Schutz personenbezogener Daten im Rahmen der europäischen Zusammenarbeit im Verbraucherschutz&lt;br /&gt;
Die Erklärung zum Schutz personenbezogener Daten im Rahmen der europäischen Zusammenarbeit im Verbraucherschutz finden Sie hier.&lt;br /&gt;
&lt;br /&gt;
Einsatz von Cookies&lt;br /&gt;
Auf den Seiten unseres Bestellservices für Broschüren kommt ein Cookie zum Einsatz, das für die Zeit ihres Besuchs auf der Website gültig ist. Dies ist für die Funktion des Warenkorbs aus technischen Gründen notwendig. Die meisten Browser sind so eingestellt, dass sie Cookies automatisch akzeptieren. Sie können das Speichern von Cookies jedoch deaktivieren oder Ihren Browser so einstellen, dass Cookies nur für die Dauer der jeweiligen Verbindung zum Internet gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
Minderjährigenschutz&lt;br /&gt;
Personen unter 18 Jahren sollten ohne Zustimmung der Eltern oder Erziehungsberechtigten keine personenbezogenen Daten an uns übermitteln. Wir fordern keine personenbezogenen Daten von Kindern und Jugendlichen an. Wissentlich sammeln wir solche Daten nicht und geben sie auch nicht an Dritte weiter.&lt;br /&gt;
&lt;br /&gt;
Links zu Webseiten anderer Anbieter&lt;br /&gt;
Unser Online-Angebot enthält Links zu Webseiten anderer Anbieter. Wir haben keinen Einfluss darauf, dass diese Anbieter die Datenschutzbestimmungen einhalten.&lt;br /&gt;
Behördliche Datenschutzbeauftragte&lt;br /&gt;
Frau Elisabeth Duhr&lt;br /&gt;
Bundesministerium der Justiz und für Verbraucherschutz &lt;br /&gt;
Mohrenstr. 37&lt;br /&gt;
10117 Berlin&lt;br /&gt;
&lt;br /&gt;
Telefon: +49 (0) 30 18 580 - 0&lt;br /&gt;
E-Mail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datenschutz.org ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATENSCHUTZERKLÄRUNG&lt;br /&gt;
&lt;br /&gt;
GELTUNGSBEREICH&lt;br /&gt;
&lt;br /&gt;
Diese Datenschutzerklärung soll die Nutzer dieser Website gemäß Bundesdatenschutzgesetz und Telemediengesetz über die Art, den Umfang und den Zweck der Erhebung und Verwendung personenbezogener Daten durch den Websitebetreiber [Ihre Kontaktdaten einfügen] informieren.&lt;br /&gt;
Der Websitebetreiber nimmt Ihren Datenschutz sehr ernst und behandelt Ihre personenbezogenen Daten vertraulich und entsprechend der gesetzlichen Vorschriften.&lt;br /&gt;
Bedenken Sie, dass die Datenübertragung im Internet grundsätzlich mit Sicherheitslücken bedacht sein kann. Ein vollumfänglicher Schutz vor dem Zugriff durch Fremde ist nicht realisierbar.&lt;br /&gt;
&lt;br /&gt;
ZUGRIFFSDATEN&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber bzw. Seitenprovider erhebt Daten über Zugriffe auf die Seite und speichert diese als „Server-Logfiles“ ab. Folgende Daten werden so protokolliert:&lt;br /&gt;
Besuchte Website&lt;br /&gt;
Uhrzeit zum Zeitpunkt des Zugriffes&lt;br /&gt;
Menge der gesendeten Daten in Byte&lt;br /&gt;
Quelle/Verweis, von welchem Sie auf die Seite gelangten&lt;br /&gt;
Verwendeter Browser&lt;br /&gt;
Verwendetes Betriebssystem&lt;br /&gt;
Verwendete IP-Adresse&lt;br /&gt;
Die erhobenen Daten dienen lediglich statistischen Auswertungen und zur Verbesserung der Website. Der Websitebetreiber behält sich allerdings vor, die Server-Logfiles nachträglich zu überprüfen, sollten konkrete Anhaltspunkte auf eine rechtswidrige Nutzung hinweisen.&lt;br /&gt;
&lt;br /&gt;
COOKIES&lt;br /&gt;
Diese Website verwendet Cookies. Dabei handelt es sich um kleine Textdateien, welche auf Ihrem Endgerät gespeichert werden. Ihr Browser greift auf diese Dateien zu. Durch den Einsatz von Cookies erhöht sich die Benutzerfreundlichkeit und Sicherheit dieser Website.&lt;br /&gt;
Gängige Browser bieten die Einstellungsoption, Cookies nicht zuzulassen. Hinweis: Es ist nicht gewährleistet, dass Sie auf alle Funktionen dieser Website ohne Einschränkungen zugreifen können, wenn Sie entsprechende Einstellungen vornehmen.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT PERSONENBEZOGENEN DATEN&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber erhebt, nutzt und gibt Ihre personenbezogenen Daten nur dann weiter, wenn dies im gesetzlichen Rahmen erlaubt ist oder Sie in die Datenerhebung einwilligen.&lt;br /&gt;
Als personenbezogene Daten gelten sämtliche Informationen, welche dazu dienen, Ihre Person zu bestimmen und welche zu Ihnen zurückverfolgt werden können – also beispielsweise Ihr Name, Ihre E-Mail-Adresse und Telefonnummer.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT KONTAKTDATEN&lt;br /&gt;
&lt;br /&gt;
Nehmen Sie mit dem Websitebetreiber durch die angebotenen Kontaktmöglichkeiten Verbindung auf, werden Ihre Angaben gespeichert, damit auf diese zur Bearbeitung und Beantwortung Ihrer Anfrage zurückgegriffen werden kann. Ohne Ihre Einwilligung werden diese Daten nicht an Dritte weitergegeben.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT KOMMENTAREN UND BEITRÄGEN&lt;br /&gt;
&lt;br /&gt;
Hinterlassen Sie auf dieser Website einen Beitrag oder Kommentar, wird Ihre IP-Adresse gespeichert. Dies dient der Sicherheit des Websitebetreibers: Verstößt Ihr Text gegen das Recht, möchte er Ihre Identität nachverfolgen können.&lt;br /&gt;
&lt;br /&gt;
ABONNEMENTS&lt;br /&gt;
&lt;br /&gt;
Sie haben die Möglichkeit, sowohl die gesamte Website als auch Nachfolgekommentare auf Ihren Beitrag zu abonnieren. Sie erhalten eine E-Mail zur Bestätigung Ihrer E-Mail-Adresse. Neben dieser werden keine weiteren Daten erhoben. Die gespeicherten Daten werden nicht an Dritte weitergereicht. Sie können ein Abonnement jederzeit abbestellen.&lt;br /&gt;
&lt;br /&gt;
GOOGLE ANALYTICS&lt;br /&gt;
Diese Website nutzt den Dienst „Google Analytics“, welcher von der Google Inc. (1600 Amphitheatre Parkway Mountain View, CA 94043, USA) angeboten wird, zur Analyse der Websitebenutzung durch Nutzer. Der Dienst verwendet „Cookies“ – Textdateien, welche auf Ihrem Endgerät gespeichert werden. Die durch die Cookies gesammelten Informationen werden im Regelfall an einen Google-Server in den USA gesandt und dort gespeichert.&lt;br /&gt;
Auf dieser Website greift die IP-Anonymisierung. Die IP-Adresse der Nutzer wird innerhalb der Mitgliedsstaaten der EU und des Europäischen Wirtschaftsraum gekürzt. Durch diese Kürzung entfällt der Personenbezug Ihrer IP-Adresse. Im Rahmen der Vereinbarung zur Auftragsdatenvereinbarung, welche die Websitebetreiber mit der Google Inc. geschlossen haben, erstellt diese mithilfe der gesammelten Informationen eine Auswertung der Websitenutzung und der Websiteaktivität und erbringt mit der Internetnutzung verbundene Dienstleistungen.&lt;br /&gt;
Sie haben die Möglichkeit, die Speicherung des Cookies auf Ihrem Gerät zu verhindern, indem Sie in Ihrem Browser entsprechende Einstellungen vornehmen. Es ist nicht gewährleistet, dass Sie auf alle Funktionen dieser Website ohne Einschränkungen zugreifen können, wenn Ihr Browser keine Cookies zulässt.&lt;br /&gt;
Weiterhin können Sie durch ein Browser-Plugin verhindern, dass die durch Cookies gesammelten Informationen (inklusive Ihrer IP-Adresse) an die Google Inc. gesendet und von der Google Inc. genutzt werden. Folgender Link führt Sie zu dem entsprechenden Plugin: https://tools.google.com/dlpage/gaoptout?hl=de Alternativ verhindern Sie mit einem Klick auf diesen Link (WICHTIG! Opt-Out-Link einfügen), dass Google Analytics innerhalb dieser Website Daten über Sie erfasst. Mit dem Klick auf obigen Link laden Sie ein „Opt-Out-Cookie“ herunter. Ihr Browser muss die Speicherung von Cookies also hierzu grundsätzlich erlauben. Löschen Sie Ihre Cookies regelmäßig, ist ein erneuter Klick auf den Link bei jedem Besuch dieser Website vonnöten.&lt;br /&gt;
Hier finden Sie weitere Informationen zur Datennutzung durch die Google Inc.: https://support.google.com/analytics/answer/6004245?hl=de&lt;br /&gt;
&lt;br /&gt;
NUTZUNG VON SOCIAL MEDIA PLUGINS&lt;br /&gt;
&lt;br /&gt;
FACEBOOK&lt;br /&gt;
Diese Website verwendet Facebook Social Plugins, welches von der Facebook Inc. (1 Hacker Way, Menlo Park, California 94025, USA) betrieben wird. Erkennbar sind die Einbindungen an dem Facebook-Logo bzw. an den Begriffen „Like“, „Gefällt mir“, „Teilen“ in den Farben Facebooks (Blau und Weiß). Informationen zu allen Facebook-Plugins finden Sie im folgenden Link: https://developers.facebook.com/docs/plugins/&lt;br /&gt;
Das Plugin stellt eine direkte Verbindung zwischen Ihrem Browser und den Facebook-Servern her. Der Websitebetreiber hat keinerlei Einfluss auf die Natur und den Umfang der Daten, welche das Plugin an die Server der Facebook Inc. übermittelt. Informationen dazu finden Sie hier: https://www.facebook.com/help/186325668085084 Das Plugin informiert die Facebook Inc. darüber, dass Sie Nutzer diese Website besucht hat. Es besteht hierbei die Möglichkeit, dass Ihre IP-Adresse gespeichert wird. Sind Sie während des Besuchs auf dieser Website in Ihrem Facebook-Konto eingeloggt, werden die genannten Informationen mit diesem verknüpft.&lt;br /&gt;
Nutzen Sie die Funktionen des Plugins – etwa indem Sie einen Beitrag teilen oder „liken“ – werden die entsprechenden Informationen ebenfalls an die Facebook Inc. übermittelt.&lt;br /&gt;
Möchten Sie verhindern, dass die Facebook. Inc. diese Daten mit Ihrem Facebook-Konto verknüpft, loggen Sie sich bitte vor dem Besuch dieser Website bei Facebook aus.&lt;br /&gt;
&lt;br /&gt;
GOOGLE+&lt;br /&gt;
Weiterhin nutzt diese Website die „+1“-Schaltfläche von Google Plus. Betrieben wird diese von der Google Inc. (1600 Amphitheatre Parkway Mountain View, CA 94043, USA). Besuchen Sie eine Seite, welche die „+1“-Schaltfläche enthält, entsteht eine direkte Verbindung zwischen Ihrem Browser und den Google-Servern. Der Websitebetreiber hat daher keinerlei Einfluss auf die Natur und den Umfang der Daten, welche das Plugin an die Server der Google Inc. übermitteln. Klicken Sie auf den „+1“-Button, während Sie in Google + angemeldet sind, teilen Sie die Inhalte der Seite auf Ihrem öffentlichen Profil.&lt;br /&gt;
Personenbezogene Daten werden laut der Google Inc. erst dann erhoben, wenn Sie auf die Schaltfläche klicken. Auch bei eingeloggten Google-Nutzern wird unter anderem die IP-Adresse gespeichert. Möchten Sie verhindern, dass die Google Inc. diese Daten speichert und mit Ihrem Konto verknüpft, loggen Sie sich bitte vor dem Besuch dieser Website aus.&lt;br /&gt;
Informationen zur „+1“-Schaltfläche finden Sie hier: https://developers.google.com/+/web/buttons-policy.&lt;br /&gt;
Weiterhin nutzt diese Website Twitter-Schlatflächen. Betrieben werden diese von der Twitter Inc. (795 Folsom St., Suite 600, San Francisco, CA 94107, USA). Besuchen Sie eine Seite, welche eine solche Schaltfläche enthält, entsteht eine direkte Verbindung zwischen Ihrem Browser und den Twitter-Servern. Der Websitebetreiber hat daher keinerlei Einfluss über die Natur und den Umfang der Daten, welche das Plugin an die Server Twitter Inc. übermittelt.&lt;br /&gt;
Gemäß der Twitter Inc. wird dabei allein Ihre IP-Adresse erhoben und gespeichert. Informationen zu dem Umgang mit personenbezogenen Daten durch die Twitter Inc. finden Sie hier: https://twitter.com/privacy?lang=de&lt;br /&gt;
&lt;br /&gt;
NEWSLETTER ABONNEMENT&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber bietet Ihnen einen Newsletter an, in welchem er Sie über aktuelle Geschehnisse und Angebote informiert. Möchten Sie den Newsletter abonnieren, müssen Sie eine valide E-Mail-Adresse angeben.&lt;br /&gt;
Rechte des Nutzers: Auskunft, Berichtigung und Löschung&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Standard Beispiel ohne Plugins etc. ===&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Wir freuen uns über Ihren Besuch auf unserer Webseite sowie über Ihr Interesse an unserem Unternehmen.&lt;br /&gt;
&lt;br /&gt;
Wir verstehen Datenschutz als kundenorientiertes Qualitätsmerkmal. Der Schutz Ihrer persönlichen Daten und die Wahrung Ihres Persönlichkeitsrechts sind uns wichtig.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Datenschutzerklärung möchten wir alle Besucher unserer Webseite transparent über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren und Sie über die Ihnen zustehenden Rechte aufklären.&lt;br /&gt;
&lt;br /&gt;
Eine Nutzung unserer Webseite ist grundsätzlich ohne die Angabe von personenbezogener Daten möglich. Sollten Sie jedoch über unsere Webseite Dienste unseres Unternehmens in Anspruch nehmen, kann die Verarbeitung Ihrer personenbezogenen Daten erforderlich werden.&lt;br /&gt;
&lt;br /&gt;
Die beim Besuch unserer Webseiten automatisch erhobenen Daten oder aber bei der Inanspruchnahme von Diensten von Ihnen eingetragenen personenbezogenen Daten, werden gemäß den jeweils aktuellen gesetzlichen Bestimmungen zum Schutz personenbezogener Daten verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Ist eine Verarbeitung Ihrer personenbezogenen Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir grundsätzlich eine Einwilligung für den erforderlichen Zweck der Verarbeitung ein.&lt;br /&gt;
Als für die Verarbeitung verantwortliches Unternehmen, haben wir technische und organisatorische Maßnahmen festgelegt, um ein möglichst hohes Schutzniveau Ihrer personenbezogenen Daten sicherzustellen. Wir weisen jedoch darauf hin, dass eine Datenübertragung über das World Wide Web grundsätzlich Sicherheitslücken aufweisen kann.&lt;br /&gt;
&lt;br /&gt;
Möchten Sie Dienste unseres Unternehmens in Anspruch nehmen und hierfür nicht den Weg der Datenübermittlung über das World Wide Web nutzen wollen, beseht auch die Möglichkeit der telefonischen Kontaktaufnahme.&lt;br /&gt;
&lt;br /&gt;
NAME UND ANSCHRIFT DES VERANTWORTLICHEN&lt;br /&gt;
&lt;br /&gt;
Der Verantwortliche im Sinne der Datenschutz-Grundverordnung und anderer nationaler Datenschutzgesetze der Mitgliedsstaaten sowie sonstiger datenschutzrechtlicher Bestimmungen ist:&lt;br /&gt;
&lt;br /&gt;
ADRESSE&lt;br /&gt;
&lt;br /&gt;
Sie können diese Website in der Regel ohne Angabe personenbezogener Daten nutzen. Soweit wir personenbezogene Daten erfassen (z.B. wenn Sie mit uns in Kontakt treten möchten), erfolgt dies stets gemäß den gesetzlichen Datenschutzvorschriften, sowie dieser Datenschutzerklärung. Ohne ausdrückliche Zustimmung werden Ihre Daten niemals an Dritte weitergegeben.&lt;br /&gt;
&lt;br /&gt;
VERSCHLÜSSELTE DATENÜBERTRAGUNG&lt;br /&gt;
&lt;br /&gt;
Auf allen Seiten unseres Internetangebots, auf denen Sie persönliche Daten eingeben - so z. B. in unserem Kontaktformular, werden Ihre Daten direkt bei der Übertragung verschlüsselt. Alle datenschutzrelevanten Informationen (wie Name und Adresse) werden geschützt gespeichert.&lt;br /&gt;
&lt;br /&gt;
Wir möchten Sie darauf hinweisen, dass die Datenübertragung im Internet (z .B. wenn Sie uns eine E-Mail schreiben) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist generell nicht möglich.&lt;br /&gt;
&lt;br /&gt;
UMFANG DER VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten personenbezogene Daten unserer Nutzer grundsätzlich nur, soweit dies für die Funktion der Website und die Bereitstellung der Inhalte und angebotenen Leistungen erforderlich ist. Die Verarbeitung personenbezogener Daten unserer Nutzer erfolgt regelmäßig nur nach Einwilligung des Nutzers. Ausnahmen gelten, wenn eine vorherige Einholung einer Einwilligung aus tatsächlichen Gründen nicht möglich ist und die Verarbeitung der Daten durch gesetzliche Vorschriften gestattet ist.&lt;br /&gt;
&lt;br /&gt;
DATENLÖSCHUNG UND SPEICHERDAUER&lt;br /&gt;
&lt;br /&gt;
Die personenbezogenen Daten der betroffenen Person werden gelöscht oder gesperrt, sobald der Zweck der Speicherung entfällt. Eine Speicherung kann darüber hinaus erfolgen, wenn dies durch den europäischen oder nationalen Gesetzgeber in unionsrechtlichen Verordnungen, Gesetzen oder sonstigen Vorschriften, denen der Verantwortliche unterliegt, vorgesehen wurde. Eine Sperrung oder Löschung der Daten erfolgt auch dann, wenn eine durch die genannten Normen vorgeschriebene Speicherfrist abläuft, es sei denn, dass eine Erforderlichkeit zur weiteren Speicherung der Daten für einen Vertragsabschluss oder eine Vertragserfüllung besteht.&lt;br /&gt;
&lt;br /&gt;
BEREITSTELLUNG DER WEBSITE UND ERSTELLUNG VON LOGFILES&lt;br /&gt;
&lt;br /&gt;
Bei jedem Aufruf unserer Internetseite erfasst unser System automatisiert Daten und Informationen vom Computersystem des aufrufenden Rechners. Folgende Daten werden hierbei erhoben:&lt;br /&gt;
&lt;br /&gt;
Informationen über den Browsertyp und die verwendete Version&lt;br /&gt;
Das Betriebssystem des Nutzers&lt;br /&gt;
Den Internet-Service-Provider des Nutzers&lt;br /&gt;
Die IP-Adresse des Nutzers&lt;br /&gt;
Datum und Uhrzeit des Zugriffs&lt;br /&gt;
Websites, von denen das System des Nutzers auf unsere Internetseite gelangt&lt;br /&gt;
Websites, die vom System des Nutzers über unsere Website aufgerufen werden&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. IP-Adressen werden im Logfile teilanonymisiert gespeichert, ihnen fehlt dadurch das Merkmal der Personenbezogenheit. Es werden keine Daten gespeichert, die eine Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die vorübergehende Speicherung der Daten ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die vorübergehende Speicherung der IP-Adresse durch das System ist notwendig, um eine Auslieferung der Website an den Rechner des Nutzers zu ermöglichen. Hierfür muss die IP-Adresse des Nutzers für die Dauer der Sitzung gespeichert bleiben.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Im Falle der Erfassung der Daten zur Bereitstellung der Website ist dies der Fall, wenn die jeweilige Sitzung beendet ist. Widerspruchs- und Beseitigungsmöglichkeit Die Erfassung der Daten zur Bereitstellung der Website und die Speicherung der Daten in Logfiles ist für den Betrieb der Internetseite zwingend erforderlich. Es besteht folglich seitens des Nutzers keine Widerspruchsmöglichkeit.&lt;br /&gt;
&lt;br /&gt;
ERSTELLUNG DER ZUGRIFFSSTATISTIK&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet Webalizer. Bei diesem Produkt handelt es sich um einen Web-Analyse-Dienst, der Daten über das Verhalten von Besuchern von Webseiten erhebt, sammelt und auswertet. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Webseite eine betroffene Person auf eine Webseite gekommen ist (wenn die Person zuvor einen Link geklickt hat), auf welche Unterseiten der Webseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde.&lt;br /&gt;
&lt;br /&gt;
Der Zweck der Verwendung ist die Auswertung der Nutzung von Webseiten zur Verbesserung des Angebots und der Bedienung. Durch die Auswertung kann in Erfahrung gebracht werden, wie die jeweilige Website genutzt wird und so das Angebot der Webseite stetig optimiert werden. Die auf diese Weise zu Analysezwecken erhoben Daten der Nutzer werden durch technische Vorkehrungen anonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert. In diesen Zwecken liegt auch das berechtigte Interesse des Webseitenbetreibers in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 Buchstabe f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Der Dienst speichert die verarbeiteten Daten für 190 Tage.&lt;br /&gt;
&lt;br /&gt;
Der Dienst nutzt keine Cookies, sondern verarbeiten ausschließlich die Daten des Logfiles (siehe Erstellung von Logfiles). IP-Adressen werden im Logfile teilanonymisiert gespeichert, ihnen fehlt darum das Merkmal der Personenbezogenheit.&lt;br /&gt;
&lt;br /&gt;
VERWENDUNG VON COOKIES&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite verwendet Cookies. Bei Cookies handelt es sich um Textdateien, die im Internetbrowser bzw. vom Internetbrowser auf dem Computersystem des Nutzers gespeichert werden. Dieser Cookie enthält eine charakteristische Zeichenfolge. Dadurch können wir den Browser beim erneuten Aufrufen der Website wiedererkennen. Durch den Einsatz von Cookies können wir unsere Website nutzerfreundlicher gestalten. Einige Elemente unserer Internetseite erfordern es, dass der aufrufende Browser auch nach einem Seitenwechsel identifiziert werden kann.&lt;br /&gt;
&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die durch technisch notwendige Cookies erhobenen Nutzerdaten werden nicht zur Erstellung von Nutzerprofilen verwendet. &lt;br /&gt;
&lt;br /&gt;
KONTAKTFORMULAR UND E-MAIL KONTAKT&lt;br /&gt;
&lt;br /&gt;
Auf unserer Website können Sie Kontaktformulare zur elektronische Kontaktaufnahme nutzen.&lt;br /&gt;
&lt;br /&gt;
Nehmen Sie diese Möglichkeit wahr, so werden die von Ihnen in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich.&lt;br /&gt;
&lt;br /&gt;
In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet.&lt;br /&gt;
&lt;br /&gt;
Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten. Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist.&lt;br /&gt;
&lt;br /&gt;
Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist.&lt;br /&gt;
&lt;br /&gt;
AUSKUNFT, BERICHTIGUNG UND LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
== Assistent Entwurf ==&lt;br /&gt;
https://www.ldi.nrw.de/mainmenu_Datenschutz/submenu_Datenschutzbeauftragte/Inhalt/Betriebliche_Datenschutzbeauftragte/Inhalt/Check/Check.php&lt;br /&gt;
&lt;br /&gt;
=== Check ===&lt;br /&gt;
&lt;br /&gt;
== Zusatzinfos ==&lt;br /&gt;
=== Was sind personenbezogene Daten ? ===&lt;br /&gt;
&lt;br /&gt;
== Anschreiben Textblöcke ==&lt;br /&gt;
=== Haftungsausschluss ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hinweis zu Datenschutz und Impressumsrelevanten Texten&lt;br /&gt;
Stephan Schlegel Geo-bit Reutlingen kann und darf keine Rechtsberatung geben.&lt;br /&gt;
Wir sind keine Anwaltskanzlei, sondern eine Webagentur. Deshalb dürfen wir keine Rechtsberatung leisten. &lt;br /&gt;
Gerne versorgen wir Sie mit Informationen, z.B. im Zusammenhang mit der Datenschutz-Grundverordnung oder der Impressumspflicht, die für Sie als Website-Betreiber relevant sind. Auf Ihren Wunsch erstellen wir gerne auch Inhalte für den Datenschutz-Hinweis oder das Impressum, die nach unserem Kenntnisstand und unserer Erfahrung erforderlich und ausreichend sind. Sie sind jedoch letztendlich allein für den Inhalt ihrer Website verantwortlich. Für rechtssichere Aussagen und konforme Texte sollten Sie sich daher an legitimierte Anbieter für Rechtsberatung wenden.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mustertexte ===&lt;br /&gt;
 [[Datenschutz - Mustertexte]]&lt;br /&gt;
&lt;br /&gt;
== Mustertexte - englisch ==&lt;br /&gt;
=== Links ===&lt;br /&gt;
 https://termsfeed.com/wizard/privacy-policy (Mehrsprachiger Generator / Kostenpflichtig for business)&lt;br /&gt;
 https://www.smartinsights.com/marketplace-analysis/digital-marketing-laws/gdpr-example-privacy-policies-and-consent-forms/&lt;br /&gt;
 https://termsfeed.com/blog/sample-privacy-policy-template/&lt;br /&gt;
=== Begriffe ===&lt;br /&gt;
This agreement can also be known under these names:&lt;br /&gt;
&lt;br /&gt;
 Privacy Statement&lt;br /&gt;
 Privacy Notice&lt;br /&gt;
 Privacy Information&lt;br /&gt;
 Privacy Page&lt;br /&gt;
&lt;br /&gt;
=== Beispiel Solmeke Generator Geopark ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Privacy Policy&lt;br /&gt;
We are very delighted that you have shown interest in our enterprise. Data protection is of a particularly high priority for the management of the Geopark Schwäbische Alb e. V.. The use of the Internet pages of the Geopark Schwäbische Alb e. V. is possible without any indication of personal data; however, if a data subject wants to use special enterprise services via our website, processing of personal data could become necessary. If the processing of personal data is necessary and there is no statutory basis for such processing, we generally obtain consent from the data subject.&lt;br /&gt;
&lt;br /&gt;
The processing of personal data, such as the name, address, e-mail address, or telephone number of a data subject shall always be in line with the General Data Protection Regulation (GDPR), and in accordance with the country-specific data protection regulations applicable to the Geopark Schwäbische Alb e. V.. By means of this data protection declaration, our enterprise would like to inform the general public of the nature, scope, and purpose of the personal data we collect, use and process. Furthermore, data subjects are informed, by means of this data protection declaration, of the rights to which they are entitled.&lt;br /&gt;
&lt;br /&gt;
As the controller, the Geopark Schwäbische Alb e. V. has implemented numerous technical and organizational measures to ensure the most complete protection of personal data processed through this website. However, Internet-based data transmissions may in principle have security gaps, so absolute protection may not be guaranteed. For this reason, every data subject is free to transfer personal data to us via alternative means, e.g. by telephone.&lt;br /&gt;
&lt;br /&gt;
1. Definitions&lt;br /&gt;
The data protection declaration of the Geopark Schwäbische Alb e. V. is based on the terms used by the European legislator for the adoption of the General Data Protection Regulation (GDPR). Our data protection declaration should be legible and understandable for the general public, as well as our customers and business partners. To ensure this, we would like to first explain the terminology used.&lt;br /&gt;
&lt;br /&gt;
In this data protection declaration, we use, inter alia, the following terms:&lt;br /&gt;
&lt;br /&gt;
a)    Personal data&lt;br /&gt;
Personal data means any information relating to an identified or identifiable natural person (“data subject”). An identifiable natural person is one who can be identified, directly or indirectly, in particular by reference to an identifier such as a name, an identification number, location data, an online identifier or to one or more factors specific to the physical, physiological, genetic, mental, economic, cultural or social identity of that natural person.&lt;br /&gt;
&lt;br /&gt;
b) Data subject&lt;br /&gt;
Data subject is any identified or identifiable natural person, whose personal data is processed by the controller responsible for the processing.&lt;br /&gt;
&lt;br /&gt;
c)    Processing&lt;br /&gt;
Processing is any operation or set of operations which is performed on personal data or on sets of personal data, whether or not by automated means, such as collection, recording, organisation, structuring, storage, adaptation or alteration, retrieval, consultation, use, disclosure by transmission, dissemination or otherwise making available, alignment or combination, restriction, erasure or destruction.&lt;br /&gt;
&lt;br /&gt;
d)    Restriction of processing&lt;br /&gt;
Restriction of processing is the marking of stored personal data with the aim of limiting their processing in the future.&lt;br /&gt;
&lt;br /&gt;
e)    Profiling&lt;br /&gt;
Profiling means any form of automated processing of personal data consisting of the use of personal data to evaluate certain personal aspects relating to a natural person, in particular to analyse or predict aspects concerning that natural person&amp;#039;s performance at work, economic situation, health, personal preferences, interests, reliability, behaviour, location or movements.&lt;br /&gt;
&lt;br /&gt;
f)     Pseudonymisation&lt;br /&gt;
Pseudonymisation is the processing of personal data in such a manner that the personal data can no longer be attributed to a specific data subject without the use of additional information, provided that such additional information is kept separately and is subject to technical and organisational measures to ensure that the personal data are not attributed to an identified or identifiable natural person.&lt;br /&gt;
&lt;br /&gt;
g)    Controller or controller responsible for the processing&lt;br /&gt;
Controller or controller responsible for the processing is the natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of personal data; where the purposes and means of such processing are determined by Union or Member State law, the controller or the specific criteria for its nomination may be provided for by Union or Member State law.&lt;br /&gt;
&lt;br /&gt;
h)    Processor&lt;br /&gt;
Processor is a natural or legal person, public authority, agency or other body which processes personal data on behalf of the controller.&lt;br /&gt;
&lt;br /&gt;
i)      Recipient&lt;br /&gt;
Recipient is a natural or legal person, public authority, agency or another body, to which the personal data are disclosed, whether a third party or not. However, public authorities which may receive personal data in the framework of a particular inquiry in accordance with Union or Member State law shall not be regarded as recipients; the processing of those data by those public authorities shall be in compliance with the applicable data protection rules according to the purposes of the processing.&lt;br /&gt;
&lt;br /&gt;
j)      Third party&lt;br /&gt;
Third party is a natural or legal person, public authority, agency or body other than the data subject, controller, processor and persons who, under the direct authority of the controller or processor, are authorised to process personal data.&lt;br /&gt;
&lt;br /&gt;
k)    Consent&lt;br /&gt;
Consent of the data subject is any freely given, specific, informed and unambiguous indication of the data subject&amp;#039;s wishes by which he or she, by a statement or by a clear affirmative action, signifies agreement to the processing of personal data relating to him or her.&lt;br /&gt;
&lt;br /&gt;
2. Name and Address of the controller&lt;br /&gt;
Controller for the purposes of the General Data Protection Regulation (GDPR), other data protection laws applicable in Member states of the European Union and other provisions related to data protection is:&lt;br /&gt;
&lt;br /&gt;
Geopark Schwäbische Alb e. V.&lt;br /&gt;
&lt;br /&gt;
Marktstr. 17&lt;br /&gt;
&lt;br /&gt;
89601 Schelklingen&lt;br /&gt;
&lt;br /&gt;
Germany&lt;br /&gt;
&lt;br /&gt;
Phone: 07394 248 70&lt;br /&gt;
&lt;br /&gt;
Email: info@geopark-alb.de&lt;br /&gt;
&lt;br /&gt;
Website: geopark-alb.de&lt;br /&gt;
&lt;br /&gt;
3. Cookies&lt;br /&gt;
The Internet pages of the Geopark Schwäbische Alb e. V. use cookies. Cookies are text files that are stored in a computer system via an Internet browser.&lt;br /&gt;
&lt;br /&gt;
Many Internet sites and servers use cookies. Many cookies contain a so-called cookie ID. A cookie ID is a unique identifier of the cookie. It consists of a character string through which Internet pages and servers can be assigned to the specific Internet browser in which the cookie was stored. This allows visited Internet sites and servers to differentiate the individual browser of the dats subject from other Internet browsers that contain other cookies. A specific Internet browser can be recognized and identified using the unique cookie ID.&lt;br /&gt;
&lt;br /&gt;
Through the use of cookies, the Geopark Schwäbische Alb e. V. can provide the users of this website with more user-friendly services that would not be possible without the cookie setting.&lt;br /&gt;
&lt;br /&gt;
By means of a cookie, the information and offers on our website can be optimized with the user in mind. Cookies allow us, as previously mentioned, to recognize our website users. The purpose of this recognition is to make it easier for users to utilize our website. The website user that uses cookies, e.g. does not have to enter access data each time the website is accessed, because this is taken over by the website, and the cookie is thus stored on the user&amp;#039;s computer system. Another example is the cookie of a shopping cart in an online shop. The online store remembers the articles that a customer has placed in the virtual shopping cart via a cookie.&lt;br /&gt;
&lt;br /&gt;
The data subject may, at any time, prevent the setting of cookies through our website by means of a corresponding setting of the Internet browser used, and may thus permanently deny the setting of cookies. Furthermore, already set cookies may be deleted at any time via an Internet browser or other software programs. This is possible in all popular Internet browsers. If the data subject deactivates the setting of cookies in the Internet browser used, not all functions of our website may be entirely usable.&lt;br /&gt;
&lt;br /&gt;
4. Collection of general data and information&lt;br /&gt;
The website of the Geopark Schwäbische Alb e. V. collects a series of general data and information when a data subject or automated system calls up the website. This general data and information are stored in the server log files. Collected may be (1) the browser types and versions used, (2) the operating system used by the accessing system, (3) the website from which an accessing system reaches our website (so-called referrers), (4) the sub-websites, (5) the date and time of access to the Internet site, (6) an Internet protocol address (IP address), (7) the Internet service provider of the accessing system, and (8) any other similar data and information that may be used in the event of attacks on our information technology systems.&lt;br /&gt;
&lt;br /&gt;
When using these general data and information, the Geopark Schwäbische Alb e. V. does not draw any conclusions about the data subject. Rather, this information is needed to (1) deliver the content of our website correctly, (2) optimize the content of our website as well as its advertisement, (3) ensure the long-term viability of our information technology systems and website technology, and (4) provide law enforcement authorities with the information necessary for criminal prosecution in case of a cyber-attack. Therefore, the Geopark Schwäbische Alb e. V. analyzes anonymously collected data and information statistically, with the aim of increasing the data protection and data security of our enterprise, and to ensure an optimal level of protection for the personal data we process. The anonymous data of the server log files are stored separately from all personal data provided by a data subject.&lt;br /&gt;
&lt;br /&gt;
5. Registration on our website&lt;br /&gt;
The data subject has the possibility to register on the website of the controller with the indication of personal data. Which personal data are transmitted to the controller is determined by the respective input mask used for the registration. The personal data entered by the data subject are collected and stored exclusively for internal use by the controller, and for his own purposes. The controller may request transfer to one or more processors (e.g. a parcel service) that also uses personal data for an internal purpose which is attributable to the controller.&lt;br /&gt;
&lt;br /&gt;
By registering on the website of the controller, the IP address—assigned by the Internet service provider (ISP) and used by the data subject—date, and time of the registration are also stored. The storage of this data takes place against the background that this is the only way to prevent the misuse of our services, and, if necessary, to make it possible to investigate committed offenses. Insofar, the storage of this data is necessary to secure the controller. This data is not passed on to third parties unless there is a statutory obligation to pass on the data, or if the transfer serves the aim of criminal prosecution.&lt;br /&gt;
&lt;br /&gt;
The registration of the data subject, with the voluntary indication of personal data, is intended to enable the controller to offer the data subject contents or services that may only be offered to registered users due to the nature of the matter in question. Registered persons are free to change the personal data specified during the registration at any time, or to have them completely deleted from the data stock of the controller.&lt;br /&gt;
&lt;br /&gt;
The data controller shall, at any time, provide information upon request to each data subject as to what personal data are stored about the data subject. In addition, the data controller shall correct or erase personal data at the request or indication of the data subject, insofar as there are no statutory storage obligations. The entirety of the controller’s employees are available to the data subject in this respect as contact persons.&lt;br /&gt;
&lt;br /&gt;
6. Contact possibility via the website&lt;br /&gt;
The website of the Geopark Schwäbische Alb e. V. contains information that enables a quick electronic contact to our enterprise, as well as direct communication with us, which also includes a general address of the so-called electronic mail (e-mail address). If a data subject contacts the controller by e-mail or via a contact form, the personal data transmitted by the data subject are automatically stored. Such personal data transmitted on a voluntary basis by a data subject to the data controller are stored for the purpose of processing or contacting the data subject. There is no transfer of this personal data to third parties.&lt;br /&gt;
&lt;br /&gt;
7. Routine erasure and blocking of personal data&lt;br /&gt;
The data controller shall process and store the personal data of the data subject only for the period necessary to achieve the purpose of storage, or as far as this is granted by the European legislator or other legislators in laws or regulations to which the controller is subject to.&lt;br /&gt;
&lt;br /&gt;
If the storage purpose is not applicable, or if a storage period prescribed by the European legislator or another competent legislator expires, the personal data are routinely blocked or erased in accordance with legal requirements.&lt;br /&gt;
&lt;br /&gt;
8. Rights of the data subject&lt;br /&gt;
a) Right of confirmation&lt;br /&gt;
Each data subject shall have the right granted by the European legislator to obtain from the controller the confirmation as to whether or not personal data concerning him or her are being processed. If a data subject wishes to avail himself of this right of confirmation, he or she may, at any time, contact any employee of the controller.&lt;br /&gt;
&lt;br /&gt;
b) Right of access&lt;br /&gt;
Each data subject shall have the right granted by the European legislator to obtain from the controller free information about his or her personal data stored at any time and a copy of this information. Furthermore, the European directives and regulations grant the data subject access to the following information:&lt;br /&gt;
&lt;br /&gt;
the purposes of the processing;&lt;br /&gt;
the categories of personal data concerned;&lt;br /&gt;
the recipients or categories of recipients to whom the personal data have been or will be disclosed, in particular recipients in third countries or international organisations;&lt;br /&gt;
where possible, the envisaged period for which the personal data will be stored, or, if not possible, the criteria used to determine that period;&lt;br /&gt;
the existence of the right to request from the controller rectification or erasure of personal data, or restriction of processing of personal data concerning the data subject, or to object to such processing;&lt;br /&gt;
the existence of the right to lodge a complaint with a supervisory authority;&lt;br /&gt;
where the personal data are not collected from the data subject, any available information as to their source;&lt;br /&gt;
the existence of automated decision-making, including profiling, referred to in Article 22(1) and (4) of the GDPR and, at least in those cases, meaningful information about the logic involved, as well as the significance and envisaged consequences of such processing for the data subject.&lt;br /&gt;
Furthermore, the data subject shall have a right to obtain information as to whether personal data are transferred to a third country or to an international organisation. Where this is the case, the data subject shall have the right to be informed of the appropriate safeguards relating to the transfer.&lt;br /&gt;
&lt;br /&gt;
If a data subject wishes to avail himself of this right of access, he or she may, at any time, contact any employee of the controller.&lt;br /&gt;
&lt;br /&gt;
c) Right to rectification&lt;br /&gt;
Each data subject shall have the right granted by the European legislator to obtain from the controller without undue delay the rectification of inaccurate personal data concerning him or her. Taking into account the purposes of the processing, the data subject shall have the right to have incomplete personal data completed, including by means of providing a supplementary statement.&lt;br /&gt;
&lt;br /&gt;
If a data subject wishes to exercise this right to rectification, he or she may, at any time, contact any employee of the controller.&lt;br /&gt;
&lt;br /&gt;
d) Right to erasure (Right to be forgotten)&lt;br /&gt;
Each data subject shall have the right granted by the European legislator to obtain from the controller the erasure of personal data concerning him or her without undue delay, and the controller shall have the obligation to erase personal data without undue delay where one of the following grounds applies, as long as the processing is not necessary:&lt;br /&gt;
&lt;br /&gt;
The personal data are no longer necessary in relation to the purposes for which they were collected or otherwise processed.&lt;br /&gt;
The data subject withdraws consent to which the processing is based according to point (a) of Article 6(1) of the GDPR, or point (a) of Article 9(2) of the GDPR, and where there is no other legal ground for the processing.&lt;br /&gt;
The data subject objects to the processing pursuant to Article 21(1) of the GDPR and there are no overriding legitimate grounds for the processing, or the data subject objects to the processing pursuant to Article 21(2) of the GDPR.&lt;br /&gt;
The personal data have been unlawfully processed.&lt;br /&gt;
The personal data must be erased for compliance with a legal obligation in Union or Member State law to which the controller is subject.&lt;br /&gt;
The personal data have been collected in relation to the offer of information society services referred to in Article 8(1) of the GDPR.&lt;br /&gt;
If one of the aforementioned reasons applies, and a data subject wishes to request the erasure of personal data stored by the Geopark Schwäbische Alb e. V., he or she may, at any time, contact any employee of the controller. An employee of Geopark Schwäbische Alb e. V. shall promptly ensure that the erasure request is complied with immediately.&lt;br /&gt;
&lt;br /&gt;
Where the controller has made personal data public and is obliged pursuant to Article 17(1) to erase the personal data, the controller, taking account of available technology and the cost of implementation, shall take reasonable steps, including technical measures, to inform other controllers processing the personal data that the data subject has requested erasure by such controllers of any links to, or copy or replication of, those personal data, as far as processing is not required. An employees of the Geopark Schwäbische Alb e. V. will arrange the necessary measures in individual cases.&lt;br /&gt;
&lt;br /&gt;
e) Right of restriction of processing&lt;br /&gt;
Each data subject shall have the right granted by the European legislator to obtain from the controller restriction of processing where one of the following applies:&lt;br /&gt;
&lt;br /&gt;
The accuracy of the personal data is contested by the data subject, for a period enabling the controller to verify the accuracy of the personal data.&lt;br /&gt;
The processing is unlawful and the data subject opposes the erasure of the personal data and requests instead the restriction of their use instead.&lt;br /&gt;
The controller no longer needs the personal data for the purposes of the processing, but they are required by the data subject for the establishment, exercise or defence of legal claims.&lt;br /&gt;
The data subject has objected to processing pursuant to Article 21(1) of the GDPR pending the verification whether the legitimate grounds of the controller override those of the data subject.&lt;br /&gt;
If one of the aforementioned conditions is met, and a data subject wishes to request the restriction of the processing of personal data stored by the Geopark Schwäbische Alb e. V., he or she may at any time contact any employee of the controller. The employee of the Geopark Schwäbische Alb e. V. will arrange the restriction of the processing.&lt;br /&gt;
&lt;br /&gt;
f) Right to data portability&lt;br /&gt;
Each data subject shall have the right granted by the European legislator, to receive the personal data concerning him or her, which was provided to a controller, in a structured, commonly used and machine-readable format. He or she shall have the right to transmit those data to another controller without hindrance from the controller to which the personal data have been provided, as long as the processing is based on consent pursuant to point (a) of Article 6(1) of the GDPR or point (a) of Article 9(2) of the GDPR, or on a contract pursuant to point (b) of Article 6(1) of the GDPR, and the processing is carried out by automated means, as long as the processing is not necessary for the performance of a task carried out in the public interest or in the exercise of official authority vested in the controller.&lt;br /&gt;
&lt;br /&gt;
Furthermore, in exercising his or her right to data portability pursuant to Article 20(1) of the GDPR, the data subject shall have the right to have personal data transmitted directly from one controller to another, where technically feasible and when doing so does not adversely affect the rights and freedoms of others.&lt;br /&gt;
&lt;br /&gt;
In order to assert the right to data portability, the data subject may at any time contact any employee of the Geopark Schwäbische Alb e. V..&lt;br /&gt;
&lt;br /&gt;
g) Right to object&lt;br /&gt;
Each data subject shall have the right granted by the European legislator to object, on grounds relating to his or her particular situation, at any time, to processing of personal data concerning him or her, which is based on point (e) or (f) of Article 6(1) of the GDPR. This also applies to profiling based on these provisions.&lt;br /&gt;
&lt;br /&gt;
The Geopark Schwäbische Alb e. V. shall no longer process the personal data in the event of the objection, unless we can demonstrate compelling legitimate grounds for the processing which override the interests, rights and freedoms of the data subject, or for the establishment, exercise or defence of legal claims.&lt;br /&gt;
&lt;br /&gt;
If the Geopark Schwäbische Alb e. V. processes personal data for direct marketing purposes, the data subject shall have the right to object at any time to processing of personal data concerning him or her for such marketing. This applies to profiling to the extent that it is related to such direct marketing. If the data subject objects to the Geopark Schwäbische Alb e. V. to the processing for direct marketing purposes, the Geopark Schwäbische Alb e. V. will no longer process the personal data for these purposes.&lt;br /&gt;
&lt;br /&gt;
In addition, the data subject has the right, on grounds relating to his or her particular situation, to object to processing of personal data concerning him or her by the Geopark Schwäbische Alb e. V. for scientific or historical research purposes, or for statistical purposes pursuant to Article 89(1) of the GDPR, unless the processing is necessary for the performance of a task carried out for reasons of public interest.&lt;br /&gt;
&lt;br /&gt;
In order to exercise the right to object, the data subject may contact any employee of the Geopark Schwäbische Alb e. V.. In addition, the data subject is free in the context of the use of information society services, and notwithstanding Directive 2002/58/EC, to use his or her right to object by automated means using technical specifications.&lt;br /&gt;
&lt;br /&gt;
h) Automated individual decision-making, including profiling&lt;br /&gt;
Each data subject shall have the right granted by the European legislator not to be subject to a decision based solely on automated processing, including profiling, which produces legal effects concerning him or her, or similarly significantly affects him or her, as long as the decision (1) is not is necessary for entering into, or the performance of, a contract between the data subject and a data controller, or (2) is not authorised by Union or Member State law to which the controller is subject and which also lays down suitable measures to safeguard the data subject&amp;#039;s rights and freedoms and legitimate interests, or (3) is not based on the data subject&amp;#039;s explicit consent.&lt;br /&gt;
&lt;br /&gt;
If the decision (1) is necessary for entering into, or the performance of, a contract between the data subject and a data controller, or (2) it is based on the data subject&amp;#039;s explicit consent, the Geopark Schwäbische Alb e. V. shall implement suitable measures to safeguard the data subject&amp;#039;s rights and freedoms and legitimate interests, at least the right to obtain human intervention on the part of the controller, to express his or her point of view and contest the decision.&lt;br /&gt;
&lt;br /&gt;
If the data subject wishes to exercise the rights concerning automated individual decision-making, he or she may, at any time, contact any employee of the Geopark Schwäbische Alb e. V..&lt;br /&gt;
&lt;br /&gt;
i) Right to withdraw data protection consent&lt;br /&gt;
Each data subject shall have the right granted by the European legislator to withdraw his or her consent to processing of his or her personal data at any time.&lt;br /&gt;
&lt;br /&gt;
If the data subject wishes to exercise the right to withdraw the consent, he or she may, at any time, contact any employee of the Geopark Schwäbische Alb e. V..&lt;br /&gt;
&lt;br /&gt;
9. Legal basis for the processing&lt;br /&gt;
Art. 6(1) lit. a GDPR serves as the legal basis for processing operations for which we obtain consent for a specific processing purpose. If the processing of personal data is necessary for the performance of a contract to which the data subject is party, as is the case, for example, when processing operations are necessary for the supply of goods or to provide any other service, the processing is based on Article 6(1) lit. b GDPR. The same applies to such processing operations which are necessary for carrying out pre-contractual measures, for example in the case of inquiries concerning our products or services. Is our company subject to a legal obligation by which processing of personal data is required, such as for the fulfillment of tax obligations, the processing is based on Art. 6(1) lit. c GDPR. In rare cases, the processing of personal data may be necessary to protect the vital interests of the data subject or of another natural person. This would be the case, for example, if a visitor were injured in our company and his name, age, health insurance data or other vital information would have to be passed on to a doctor, hospital or other third party. Then the processing would be based on Art. 6(1) lit. d GDPR. Finally, processing operations could be based on Article 6(1) lit. f GDPR. This legal basis is used for processing operations which are not covered by any of the abovementioned legal grounds, if processing is necessary for the purposes of the legitimate interests pursued by our company or by a third party, except where such interests are overridden by the interests or fundamental rights and freedoms of the data subject which require protection of personal data. Such processing operations are particularly permissible because they have been specifically mentioned by the European legislator. He considered that a legitimate interest could be assumed if the data subject is a client of the controller (Recital 47 Sentence 2 GDPR).&lt;br /&gt;
&lt;br /&gt;
10. The legitimate interests pursued by the controller or by a third party&lt;br /&gt;
Where the processing of personal data is based on Article 6(1) lit. f GDPR our legitimate interest is to carry out our business in favor of the well-being of all our employees and the shareholders.&lt;br /&gt;
&lt;br /&gt;
11. Period for which the personal data will be stored&lt;br /&gt;
The criteria used to determine the period of storage of personal data is the respective statutory retention period. After expiration of that period, the corresponding data is routinely deleted, as long as it is no longer necessary for the fulfillment of the contract or the initiation of a contract.&lt;br /&gt;
&lt;br /&gt;
12. Provision of personal data as statutory or contractual requirement; Requirement necessary to enter into a contract; Obligation of the data subject to provide the personal data; possible consequences of failure to provide such data&lt;br /&gt;
We clarify that the provision of personal data is partly required by law (e.g. tax regulations) or can also result from contractual provisions (e.g. information on the contractual partner). Sometimes it may be necessary to conclude a contract that the data subject provides us with personal data, which must subsequently be processed by us. The data subject is, for example, obliged to provide us with personal data when our company signs a contract with him or her. The non-provision of the personal data would have the consequence that the contract with the data subject could not be concluded. Before personal data is provided by the data subject, the data subject must contact any employee. The employee clarifies to the data subject whether the provision of the personal data is required by law or contract or is necessary for the conclusion of the contract, whether there is an obligation to provide the personal data and the consequences of non-provision of the personal data.&lt;br /&gt;
&lt;br /&gt;
13. Existence of automated decision-making&lt;br /&gt;
As a responsible company, we do not use automatic decision-making or profiling.&lt;br /&gt;
&lt;br /&gt;
This Privacy Policy has been generated by the Privacy Policy Generator of the DGD - Your External DPO that was developed in cooperation with German Lawyers from WILDE BEUGER SOLMECKE, Cologne.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beispiel Solmecke mit Google Analytics ===&lt;br /&gt;
Hinweis über https://dsgvo-muster-datenschutzerklaerung.dg-datenschutz.de gibts (Anfang 2021) noch die englische Variante.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Privacy Policy&lt;br /&gt;
&lt;br /&gt;
We are very delighted that you have shown interest in our enterprise. Data protection is of a particularly high priority for the management of the info@dojatec-vub.de. The use of the Internet pages of the info@dojatec-vub.de is possible without any indication of personal data; however, if a data subject wants to use special enterprise services via our website, processing of personal data could become necessary. If the processing of personal data is necessary and there is no statutory basis for such processing, we generally obtain consent from the data subject.&lt;br /&gt;
&lt;br /&gt;
The processing of personal data, such as the name, address, e-mail address, or telephone number of a data subject shall always be in line with the General Data Protection Regulation (GDPR), and in accordance with the country-specific data protection regulations applicable to the info@dojatec-vub.de. By means of this data protection declaration, our enterprise would like to inform the general public of the nature, scope, and purpose of the personal data we collect, use and process. Furthermore, data subjects are informed, by means of this data protection declaration, of the rights to which they are entitled.&lt;br /&gt;
&lt;br /&gt;
As the controller, the info@dojatec-vub.de has implemented numerous technical and organizational measures to ensure the most complete protection of personal data processed through this website. However, Internet-based data transmissions may in principle have security gaps, so absolute protection may not be guaranteed. For this reason, every data subject is free to transfer personal data to us via alternative means, e.g. by telephone.&lt;br /&gt;
1. Definitions&lt;br /&gt;
&lt;br /&gt;
The data protection declaration of the info@dojatec-vub.de is based on the terms used by the European legislator for the adoption of the General Data Protection Regulation (GDPR). Our data protection declaration should be legible and understandable for the general public, as well as our customers and business partners. To ensure this, we would like to first explain the terminology used.&lt;br /&gt;
&lt;br /&gt;
In this data protection declaration, we use, inter alia, the following terms:&lt;br /&gt;
&lt;br /&gt;
    a)    Personal data&lt;br /&gt;
&lt;br /&gt;
    Personal data means any information relating to an identified or identifiable natural person (“data subject”). An identifiable natural person is one who can be identified, directly or indirectly, in particular by reference to an identifier such as a name, an identification number, location data, an online identifier or to one or more factors specific to the physical, physiological, genetic, mental, economic, cultural or social identity of that natural person.&lt;br /&gt;
    b) Data subject&lt;br /&gt;
&lt;br /&gt;
    Data subject is any identified or identifiable natural person, whose personal data is processed by the controller responsible for the processing.&lt;br /&gt;
    c)    Processing&lt;br /&gt;
&lt;br /&gt;
    Processing is any operation or set of operations which is performed on personal data or on sets of personal data, whether or not by automated means, such as collection, recording, organisation, structuring, storage, adaptation or alteration, retrieval, consultation, use, disclosure by transmission, dissemination or otherwise making available, alignment or combination, restriction, erasure or destruction.&lt;br /&gt;
    d)    Restriction of processing&lt;br /&gt;
&lt;br /&gt;
    Restriction of processing is the marking of stored personal data with the aim of limiting their processing in the future.&lt;br /&gt;
    e)    Profiling&lt;br /&gt;
&lt;br /&gt;
    Profiling means any form of automated processing of personal data consisting of the use of personal data to evaluate certain personal aspects relating to a natural person, in particular to analyse or predict aspects concerning that natural person&amp;#039;s performance at work, economic situation, health, personal preferences, interests, reliability, behaviour, location or movements.&lt;br /&gt;
    f)     Pseudonymisation&lt;br /&gt;
&lt;br /&gt;
    Pseudonymisation is the processing of personal data in such a manner that the personal data can no longer be attributed to a specific data subject without the use of additional information, provided that such additional information is kept separately and is subject to technical and organisational measures to ensure that the personal data are not attributed to an identified or identifiable natural person.&lt;br /&gt;
    g)    Controller or controller responsible for the processing&lt;br /&gt;
&lt;br /&gt;
    Controller or controller responsible for the processing is the natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of personal data; where the purposes and means of such processing are determined by Union or Member State law, the controller or the specific criteria for its nomination may be provided for by Union or Member State law.&lt;br /&gt;
    h)    Processor&lt;br /&gt;
&lt;br /&gt;
    Processor is a natural or legal person, public authority, agency or other body which processes personal data on behalf of the controller.&lt;br /&gt;
    i)      Recipient&lt;br /&gt;
&lt;br /&gt;
    Recipient is a natural or legal person, public authority, agency or another body, to which the personal data are disclosed, whether a third party or not. However, public authorities which may receive personal data in the framework of a particular inquiry in accordance with Union or Member State law shall not be regarded as recipients; the processing of those data by those public authorities shall be in compliance with the applicable data protection rules according to the purposes of the processing.&lt;br /&gt;
    j)      Third party&lt;br /&gt;
&lt;br /&gt;
    Third party is a natural or legal person, public authority, agency or body other than the data subject, controller, processor and persons who, under the direct authority of the controller or processor, are authorised to process personal data.&lt;br /&gt;
    k)    Consent&lt;br /&gt;
&lt;br /&gt;
    Consent of the data subject is any freely given, specific, informed and unambiguous indication of the data subject&amp;#039;s wishes by which he or she, by a statement or by a clear affirmative action, signifies agreement to the processing of personal data relating to him or her.&lt;br /&gt;
&lt;br /&gt;
2. Name and Address of the controller&lt;br /&gt;
&lt;br /&gt;
Controller for the purposes of the General Data Protection Regulation (GDPR), other data protection laws applicable in Member states of the European Union and other provisions related to data protection is:&lt;br /&gt;
&lt;br /&gt;
info@dojatec-vub.de&lt;br /&gt;
&lt;br /&gt;
Schillerstraße 20&lt;br /&gt;
&lt;br /&gt;
72144 Dusslingen&lt;br /&gt;
&lt;br /&gt;
Deutschland&lt;br /&gt;
&lt;br /&gt;
Phone: 07072 / 9293-0&lt;br /&gt;
&lt;br /&gt;
Email: dealer@stephanschlegel.de&lt;br /&gt;
&lt;br /&gt;
Website: dojatec.de&lt;br /&gt;
3. Cookies&lt;br /&gt;
&lt;br /&gt;
The Internet pages of the info@dojatec-vub.de use cookies. Cookies are text files that are stored in a computer system via an Internet browser.&lt;br /&gt;
&lt;br /&gt;
Many Internet sites and servers use cookies. Many cookies contain a so-called cookie ID. A cookie ID is a unique identifier of the cookie. It consists of a character string through which Internet pages and servers can be assigned to the specific Internet browser in which the cookie was stored. This allows visited Internet sites and servers to differentiate the individual browser of the dats subject from other Internet browsers that contain other cookies. A specific Internet browser can be recognized and identified using the unique cookie ID.&lt;br /&gt;
&lt;br /&gt;
Through the use of cookies, the info@dojatec-vub.de can provide the users of this website with more user-friendly services that would not be possible without the cookie setting.&lt;br /&gt;
&lt;br /&gt;
By means of a cookie, the information and offers on our website can be optimized with the user in mind. Cookies allow us, as previously mentioned, to recognize our website users. The purpose of this recognition is to make it easier for users to utilize our website. The website user that uses cookies, e.g. does not have to enter access data each time the website is accessed, because this is taken over by the website, and the cookie is thus stored on the user&amp;#039;s computer system. Another example is the cookie of a shopping cart in an online shop. The online store remembers the articles that a customer has placed in the virtual shopping cart via a cookie.&lt;br /&gt;
&lt;br /&gt;
The data subject may, at any time, prevent the setting of cookies through our website by means of a corresponding setting of the Internet browser used, and may thus permanently deny the setting of cookies. Furthermore, already set cookies may be deleted at any time via an Internet browser or other software programs. This is possible in all popular Internet browsers. If the data subject deactivates the setting of cookies in the Internet browser used, not all functions of our website may be entirely usable.&lt;br /&gt;
4. Collection of general data and information&lt;br /&gt;
&lt;br /&gt;
The website of the info@dojatec-vub.de collects a series of general data and information when a data subject or automated system calls up the website. This general data and information are stored in the server log files. Collected may be (1) the browser types and versions used, (2) the operating system used by the accessing system, (3) the website from which an accessing system reaches our website (so-called referrers), (4) the sub-websites, (5) the date and time of access to the Internet site, (6) an Internet protocol address (IP address), (7) the Internet service provider of the accessing system, and (8) any other similar data and information that may be used in the event of attacks on our information technology systems.&lt;br /&gt;
&lt;br /&gt;
When using these general data and information, the info@dojatec-vub.de does not draw any conclusions about the data subject. Rather, this information is needed to (1) deliver the content of our website correctly, (2) optimize the content of our website as well as its advertisement, (3) ensure the long-term viability of our information technology systems and website technology, and (4) provide law enforcement authorities with the information necessary for criminal prosecution in case of a cyber-attack. Therefore, the info@dojatec-vub.de analyzes anonymously collected data and information statistically, with the aim of increasing the data protection and data security of our enterprise, and to ensure an optimal level of protection for the personal data we process. The anonymous data of the server log files are stored separately from all personal data provided by a data subject.&lt;br /&gt;
5. Contact possibility via the website&lt;br /&gt;
&lt;br /&gt;
The website of the info@dojatec-vub.de contains information that enables a quick electronic contact to our enterprise, as well as direct communication with us, which also includes a general address of the so-called electronic mail (e-mail address). If a data subject contacts the controller by e-mail or via a contact form, the personal data transmitted by the data subject are automatically stored. Such personal data transmitted on a voluntary basis by a data subject to the data controller are stored for the purpose of processing or contacting the data subject. There is no transfer of this personal data to third parties.&lt;br /&gt;
6. Routine erasure and blocking of personal data&lt;br /&gt;
&lt;br /&gt;
The data controller shall process and store the personal data of the data subject only for the period necessary to achieve the purpose of storage, or as far as this is granted by the European legislator or other legislators in laws or regulations to which the controller is subject to.&lt;br /&gt;
&lt;br /&gt;
If the storage purpose is not applicable, or if a storage period prescribed by the European legislator or another competent legislator expires, the personal data are routinely blocked or erased in accordance with legal requirements.&lt;br /&gt;
7. Rights of the data subject&lt;br /&gt;
&lt;br /&gt;
    a) Right of confirmation&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator to obtain from the controller the confirmation as to whether or not personal data concerning him or her are being processed. If a data subject wishes to avail himself of this right of confirmation, he or she may, at any time, contact any employee of the controller.&lt;br /&gt;
    b) Right of access&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator to obtain from the controller free information about his or her personal data stored at any time and a copy of this information. Furthermore, the European directives and regulations grant the data subject access to the following information:&lt;br /&gt;
        the purposes of the processing;&lt;br /&gt;
        the categories of personal data concerned;&lt;br /&gt;
        the recipients or categories of recipients to whom the personal data have been or will be disclosed, in particular recipients in third countries or international organisations;&lt;br /&gt;
        where possible, the envisaged period for which the personal data will be stored, or, if not possible, the criteria used to determine that period;&lt;br /&gt;
        the existence of the right to request from the controller rectification or erasure of personal data, or restriction of processing of personal data concerning the data subject, or to object to such processing;&lt;br /&gt;
        the existence of the right to lodge a complaint with a supervisory authority;&lt;br /&gt;
        where the personal data are not collected from the data subject, any available information as to their source;&lt;br /&gt;
        the existence of automated decision-making, including profiling, referred to in Article 22(1) and (4) of the GDPR and, at least in those cases, meaningful information about the logic involved, as well as the significance and envisaged consequences of such processing for the data subject.&lt;br /&gt;
&lt;br /&gt;
    Furthermore, the data subject shall have a right to obtain information as to whether personal data are transferred to a third country or to an international organisation. Where this is the case, the data subject shall have the right to be informed of the appropriate safeguards relating to the transfer.&lt;br /&gt;
&lt;br /&gt;
    If a data subject wishes to avail himself of this right of access, he or she may, at any time, contact any employee of the controller.&lt;br /&gt;
    c) Right to rectification&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator to obtain from the controller without undue delay the rectification of inaccurate personal data concerning him or her. Taking into account the purposes of the processing, the data subject shall have the right to have incomplete personal data completed, including by means of providing a supplementary statement.&lt;br /&gt;
&lt;br /&gt;
    If a data subject wishes to exercise this right to rectification, he or she may, at any time, contact any employee of the controller.&lt;br /&gt;
    d) Right to erasure (Right to be forgotten)&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator to obtain from the controller the erasure of personal data concerning him or her without undue delay, and the controller shall have the obligation to erase personal data without undue delay where one of the following grounds applies, as long as the processing is not necessary:&lt;br /&gt;
        The personal data are no longer necessary in relation to the purposes for which they were collected or otherwise processed.&lt;br /&gt;
        The data subject withdraws consent to which the processing is based according to point (a) of Article 6(1) of the GDPR, or point (a) of Article 9(2) of the GDPR, and where there is no other legal ground for the processing.&lt;br /&gt;
        The data subject objects to the processing pursuant to Article 21(1) of the GDPR and there are no overriding legitimate grounds for the processing, or the data subject objects to the processing pursuant to Article 21(2) of the GDPR.&lt;br /&gt;
        The personal data have been unlawfully processed.&lt;br /&gt;
        The personal data must be erased for compliance with a legal obligation in Union or Member State law to which the controller is subject.&lt;br /&gt;
        The personal data have been collected in relation to the offer of information society services referred to in Article 8(1) of the GDPR.&lt;br /&gt;
&lt;br /&gt;
    If one of the aforementioned reasons applies, and a data subject wishes to request the erasure of personal data stored by the info@dojatec-vub.de, he or she may, at any time, contact any employee of the controller. An employee of info@dojatec-vub.de shall promptly ensure that the erasure request is complied with immediately.&lt;br /&gt;
&lt;br /&gt;
    Where the controller has made personal data public and is obliged pursuant to Article 17(1) to erase the personal data, the controller, taking account of available technology and the cost of implementation, shall take reasonable steps, including technical measures, to inform other controllers processing the personal data that the data subject has requested erasure by such controllers of any links to, or copy or replication of, those personal data, as far as processing is not required. An employees of the info@dojatec-vub.de will arrange the necessary measures in individual cases.&lt;br /&gt;
    e) Right of restriction of processing&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator to obtain from the controller restriction of processing where one of the following applies:&lt;br /&gt;
        The accuracy of the personal data is contested by the data subject, for a period enabling the controller to verify the accuracy of the personal data.&lt;br /&gt;
        The processing is unlawful and the data subject opposes the erasure of the personal data and requests instead the restriction of their use instead.&lt;br /&gt;
        The controller no longer needs the personal data for the purposes of the processing, but they are required by the data subject for the establishment, exercise or defence of legal claims.&lt;br /&gt;
        The data subject has objected to processing pursuant to Article 21(1) of the GDPR pending the verification whether the legitimate grounds of the controller override those of the data subject.&lt;br /&gt;
&lt;br /&gt;
    If one of the aforementioned conditions is met, and a data subject wishes to request the restriction of the processing of personal data stored by the info@dojatec-vub.de, he or she may at any time contact any employee of the controller. The employee of the info@dojatec-vub.de will arrange the restriction of the processing.&lt;br /&gt;
    f) Right to data portability&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator, to receive the personal data concerning him or her, which was provided to a controller, in a structured, commonly used and machine-readable format. He or she shall have the right to transmit those data to another controller without hindrance from the controller to which the personal data have been provided, as long as the processing is based on consent pursuant to point (a) of Article 6(1) of the GDPR or point (a) of Article 9(2) of the GDPR, or on a contract pursuant to point (b) of Article 6(1) of the GDPR, and the processing is carried out by automated means, as long as the processing is not necessary for the performance of a task carried out in the public interest or in the exercise of official authority vested in the controller.&lt;br /&gt;
&lt;br /&gt;
    Furthermore, in exercising his or her right to data portability pursuant to Article 20(1) of the GDPR, the data subject shall have the right to have personal data transmitted directly from one controller to another, where technically feasible and when doing so does not adversely affect the rights and freedoms of others.&lt;br /&gt;
&lt;br /&gt;
    In order to assert the right to data portability, the data subject may at any time contact any employee of the info@dojatec-vub.de.&lt;br /&gt;
    g) Right to object&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator to object, on grounds relating to his or her particular situation, at any time, to processing of personal data concerning him or her, which is based on point (e) or (f) of Article 6(1) of the GDPR. This also applies to profiling based on these provisions.&lt;br /&gt;
&lt;br /&gt;
    The info@dojatec-vub.de shall no longer process the personal data in the event of the objection, unless we can demonstrate compelling legitimate grounds for the processing which override the interests, rights and freedoms of the data subject, or for the establishment, exercise or defence of legal claims.&lt;br /&gt;
&lt;br /&gt;
    If the info@dojatec-vub.de processes personal data for direct marketing purposes, the data subject shall have the right to object at any time to processing of personal data concerning him or her for such marketing. This applies to profiling to the extent that it is related to such direct marketing. If the data subject objects to the info@dojatec-vub.de to the processing for direct marketing purposes, the info@dojatec-vub.de will no longer process the personal data for these purposes.&lt;br /&gt;
&lt;br /&gt;
    In addition, the data subject has the right, on grounds relating to his or her particular situation, to object to processing of personal data concerning him or her by the info@dojatec-vub.de for scientific or historical research purposes, or for statistical purposes pursuant to Article 89(1) of the GDPR, unless the processing is necessary for the performance of a task carried out for reasons of public interest.&lt;br /&gt;
&lt;br /&gt;
    In order to exercise the right to object, the data subject may contact any employee of the info@dojatec-vub.de. In addition, the data subject is free in the context of the use of information society services, and notwithstanding Directive 2002/58/EC, to use his or her right to object by automated means using technical specifications.&lt;br /&gt;
    h) Automated individual decision-making, including profiling&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator not to be subject to a decision based solely on automated processing, including profiling, which produces legal effects concerning him or her, or similarly significantly affects him or her, as long as the decision (1) is not is necessary for entering into, or the performance of, a contract between the data subject and a data controller, or (2) is not authorised by Union or Member State law to which the controller is subject and which also lays down suitable measures to safeguard the data subject&amp;#039;s rights and freedoms and legitimate interests, or (3) is not based on the data subject&amp;#039;s explicit consent.&lt;br /&gt;
&lt;br /&gt;
    If the decision (1) is necessary for entering into, or the performance of, a contract between the data subject and a data controller, or (2) it is based on the data subject&amp;#039;s explicit consent, the info@dojatec-vub.de shall implement suitable measures to safeguard the data subject&amp;#039;s rights and freedoms and legitimate interests, at least the right to obtain human intervention on the part of the controller, to express his or her point of view and contest the decision.&lt;br /&gt;
&lt;br /&gt;
    If the data subject wishes to exercise the rights concerning automated individual decision-making, he or she may, at any time, contact any employee of the info@dojatec-vub.de.&lt;br /&gt;
    i) Right to withdraw data protection consent&lt;br /&gt;
&lt;br /&gt;
    Each data subject shall have the right granted by the European legislator to withdraw his or her consent to processing of his or her personal data at any time.&lt;br /&gt;
&lt;br /&gt;
    If the data subject wishes to exercise the right to withdraw the consent, he or she may, at any time, contact any employee of the info@dojatec-vub.de.&lt;br /&gt;
&lt;br /&gt;
8. Data protection for applications and the application procedures&lt;br /&gt;
&lt;br /&gt;
The data controller shall collect and process the personal data of applicants for the purpose of the processing of the application procedure. The processing may also be carried out electronically. This is the case, in particular, if an applicant submits corresponding application documents by e-mail or by means of a web form on the website to the controller. If the data controller concludes an employment contract with an applicant, the submitted data will be stored for the purpose of processing the employment relationship in compliance with legal requirements. If no employment contract is concluded with the applicant by the controller, the application documents shall be automatically erased two months after notification of the refusal decision, provided that no other legitimate interests of the controller are opposed to the erasure. Other legitimate interest in this relation is, e.g. a burden of proof in a procedure under the General Equal Treatment Act (AGG).&lt;br /&gt;
9. Data protection provisions about the application and use of Google Analytics (with anonymization function)&lt;br /&gt;
&lt;br /&gt;
On this website, the controller has integrated the component of Google Analytics (with the anonymizer function). Google Analytics is a web analytics service. Web analytics is the collection, gathering, and analysis of data about the behavior of visitors to websites. A web analysis service collects, inter alia, data about the website from which a person has come (the so-called referrer), which sub-pages were visited, or how often and for what duration a sub-page was viewed. Web analytics are mainly used for the optimization of a website and in order to carry out a cost-benefit analysis of Internet advertising.&lt;br /&gt;
&lt;br /&gt;
The operator of the Google Analytics component is Google Ireland Limited, Gordon House, Barrow Street, Dublin, D04 E5W5, Ireland.&lt;br /&gt;
&lt;br /&gt;
For the web analytics through Google Analytics the controller uses the application &amp;quot;_gat. _anonymizeIp&amp;quot;. By means of this application the IP address of the Internet connection of the data subject is abridged by Google and anonymised when accessing our websites from a Member State of the European Union or another Contracting State to the Agreement on the European Economic Area.&lt;br /&gt;
&lt;br /&gt;
The purpose of the Google Analytics component is to analyze the traffic on our website. Google uses the collected data and information, inter alia, to evaluate the use of our website and to provide online reports, which show the activities on our websites, and to provide other services concerning the use of our Internet site for us.&lt;br /&gt;
&lt;br /&gt;
Google Analytics places a cookie on the information technology system of the data subject. The definition of cookies is explained above. With the setting of the cookie, Google is enabled to analyze the use of our website. With each call-up to one of the individual pages of this Internet site, which is operated by the controller and into which a Google Analytics component was integrated, the Internet browser on the information technology system of the data subject will automatically submit data through the Google Analytics component for the purpose of online advertising and the settlement of commissions to Google. During the course of this technical procedure, the enterprise Google gains knowledge of personal information, such as the IP address of the data subject, which serves Google, inter alia, to understand the origin of visitors and clicks, and subsequently create commission settlements.&lt;br /&gt;
&lt;br /&gt;
The cookie is used to store personal information, such as the access time, the location from which the access was made, and the frequency of visits of our website by the data subject. With each visit to our Internet site, such personal data, including the IP address of the Internet access used by the data subject, will be transmitted to Google in the United States of America. These personal data are stored by Google in the United States of America. Google may pass these personal data collected through the technical procedure to third parties.&lt;br /&gt;
&lt;br /&gt;
The data subject may, as stated above, prevent the setting of cookies through our website at any time by means of a corresponding adjustment of the web browser used and thus permanently deny the setting of cookies. Such an adjustment to the Internet browser used would also prevent Google Analytics from setting a cookie on the information technology system of the data subject. In addition, cookies already in use by Google Analytics may be deleted at any time via a web browser or other software programs.&lt;br /&gt;
&lt;br /&gt;
In addition, the data subject has the possibility of objecting to a collection of data that are generated by Google Analytics, which is related to the use of this website, as well as the processing of this data by Google and the chance to preclude any such. For this purpose, the data subject must download a browser add-on under the link https://tools.google.com/dlpage/gaoptout and install it. This browser add-on tells Google Analytics through a JavaScript, that any data and information about the visits of Internet pages may not be transmitted to Google Analytics. The installation of the browser add-ons is considered an objection by Google. If the information technology system of the data subject is later deleted, formatted, or newly installed, then the data subject must reinstall the browser add-ons to disable Google Analytics. If the browser add-on was uninstalled by the data subject or any other person who is attributable to their sphere of competence, or is disabled, it is possible to execute the reinstallation or reactivation of the browser add-ons.&lt;br /&gt;
&lt;br /&gt;
Further information and the applicable data protection provisions of Google may be retrieved under https://www.google.com/intl/en/policies/privacy/ and under http://www.google.com/analytics/terms/us.html. Google Analytics is further explained under the following Link https://www.google.com/analytics/.&lt;br /&gt;
10. Data protection provisions about the application and use of Instagram&lt;br /&gt;
&lt;br /&gt;
On this website, the controller has integrated components of the service Instagram. Instagram is a service that may be qualified as an audiovisual platform, which allows users to share photos and videos, as well as disseminate such data in other social networks.&lt;br /&gt;
&lt;br /&gt;
The operating company of the services offered by Instagram is Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2 Ireland.&lt;br /&gt;
&lt;br /&gt;
With each call-up to one of the individual pages of this Internet site, which is operated by the controller and on which an Instagram component (Insta button) was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to the download of a display of the corresponding Instagram component of Instagram. During the course of this technical procedure, Instagram becomes aware of what specific sub-page of our website was visited by the data subject.&lt;br /&gt;
&lt;br /&gt;
If the data subject is logged in at the same time on Instagram, Instagram detects with every call-up to our website by the data subject—and for the entire duration of their stay on our Internet site—which specific sub-page of our Internet page was visited by the data subject. This information is collected through the Instagram component and is associated with the respective Instagram account of the data subject. If the data subject clicks on one of the Instagram buttons integrated on our website, then Instagram matches this information with the personal Instagram user account of the data subject and stores the personal data.&lt;br /&gt;
&lt;br /&gt;
Instagram receives information via the Instagram component that the data subject has visited our website provided that the data subject is logged in at Instagram at the time of the call to our website. This occurs regardless of whether the person clicks on the Instagram button or not. If such a transmission of information to Instagram is not desirable for the data subject, then he or she can prevent this by logging off from their Instagram account before a call-up to our website is made.&lt;br /&gt;
&lt;br /&gt;
Further information and the applicable data protection provisions of Instagram may be retrieved under https://help.instagram.com/155833707900388 and https://www.instagram.com/about/legal/privacy/.&lt;br /&gt;
11. Legal basis for the processing&lt;br /&gt;
&lt;br /&gt;
Art. 6(1) lit. a GDPR serves as the legal basis for processing operations for which we obtain consent for a specific processing purpose. If the processing of personal data is necessary for the performance of a contract to which the data subject is party, as is the case, for example, when processing operations are necessary for the supply of goods or to provide any other service, the processing is based on Article 6(1) lit. b GDPR. The same applies to such processing operations which are necessary for carrying out pre-contractual measures, for example in the case of inquiries concerning our products or services. Is our company subject to a legal obligation by which processing of personal data is required, such as for the fulfillment of tax obligations, the processing is based on Art. 6(1) lit. c GDPR. In rare cases, the processing of personal data may be necessary to protect the vital interests of the data subject or of another natural person. This would be the case, for example, if a visitor were injured in our company and his name, age, health insurance data or other vital information would have to be passed on to a doctor, hospital or other third party. Then the processing would be based on Art. 6(1) lit. d GDPR. Finally, processing operations could be based on Article 6(1) lit. f GDPR. This legal basis is used for processing operations which are not covered by any of the abovementioned legal grounds, if processing is necessary for the purposes of the legitimate interests pursued by our company or by a third party, except where such interests are overridden by the interests or fundamental rights and freedoms of the data subject which require protection of personal data. Such processing operations are particularly permissible because they have been specifically mentioned by the European legislator. He considered that a legitimate interest could be assumed if the data subject is a client of the controller (Recital 47 Sentence 2 GDPR).&lt;br /&gt;
12. The legitimate interests pursued by the controller or by a third party&lt;br /&gt;
&lt;br /&gt;
Where the processing of personal data is based on Article 6(1) lit. f GDPR our legitimate interest is to carry out our business in favor of the well-being of all our employees and the shareholders.&lt;br /&gt;
13. Period for which the personal data will be stored&lt;br /&gt;
&lt;br /&gt;
The criteria used to determine the period of storage of personal data is the respective statutory retention period. After expiration of that period, the corresponding data is routinely deleted, as long as it is no longer necessary for the fulfillment of the contract or the initiation of a contract.&lt;br /&gt;
14. Provision of personal data as statutory or contractual requirement; Requirement necessary to enter into a contract; Obligation of the data subject to provide the personal data; possible consequences of failure to provide such data&lt;br /&gt;
&lt;br /&gt;
We clarify that the provision of personal data is partly required by law (e.g. tax regulations) or can also result from contractual provisions (e.g. information on the contractual partner). Sometimes it may be necessary to conclude a contract that the data subject provides us with personal data, which must subsequently be processed by us. The data subject is, for example, obliged to provide us with personal data when our company signs a contract with him or her. The non-provision of the personal data would have the consequence that the contract with the data subject could not be concluded. Before personal data is provided by the data subject, the data subject must contact any employee. The employee clarifies to the data subject whether the provision of the personal data is required by law or contract or is necessary for the conclusion of the contract, whether there is an obligation to provide the personal data and the consequences of non-provision of the personal data.&lt;br /&gt;
15. Existence of automated decision-making&lt;br /&gt;
&lt;br /&gt;
As a responsible company, we do not use automatic decision-making or profiling.&lt;br /&gt;
&lt;br /&gt;
This Privacy Policy has been generated by the Privacy Policy Generator of the DGD - Your External DPO that was developed in cooperation with German Lawyers from WILDE BEUGER SOLMECKE, Cologne.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Beispiel AA Group ===&lt;br /&gt;
Quelle: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Background&lt;br /&gt;
This privacy notice lets you know what happens to any personal data that you give to us, or any that we may collect from or about you. It applies to all products and services, and instances where we collect your personal data.&lt;br /&gt;
&lt;br /&gt;
This privacy notice applies to personal information processed by or on behalf of The AA Group.&lt;br /&gt;
&lt;br /&gt;
For AA DriveTech, please refer to the following separate privacy notice:&lt;br /&gt;
&lt;br /&gt;
AA DriveTech privacy policy&lt;br /&gt;
&lt;br /&gt;
Use the links below to find out more about how we use your personal information:&lt;br /&gt;
&lt;br /&gt;
Who are we and how do you contact us and our Data Protection Officer?&lt;br /&gt;
What kinds of personal information about you do we process?&lt;br /&gt;
What is the source of your personal information?&lt;br /&gt;
What are the legal grounds for our processing of your personal information (including when we share it with others)?&lt;br /&gt;
What should you do if your personal information changes?&lt;br /&gt;
For how long is your personal information retained by us?&lt;br /&gt;
What are your rights under data protection laws?&lt;br /&gt;
How can you opt out of marketing communications?&lt;br /&gt;
Changes to this privacy notice&lt;br /&gt;
&lt;br /&gt;
We may change this privacy notice from time to time by updating this page in order to reflect changes in the law and/or our privacy practices. We encourage you to check this privacy notice for changes whenever you visit our website – https://www.theaa.com/.&lt;br /&gt;
&lt;br /&gt;
The AA plc and our Data Protection Officer&lt;br /&gt;
&lt;br /&gt;
We’re the AA PLC, Fanum House, Basing View, Basingstoke, Hampshire, RG21 4EA. We are a data controller of your personal data. If you have a product or service with us, the AA company or companies which provide that product or service is the data controller and they are named in your product or service terms and conditions (usually at the start). The AA Group of companies means AA PLC, together with any entity in which AA PLC directly or indirectly has at least a 50% shareholding and where we act in support of the AA Charitable Trust for Road Safety and the Environment.&lt;br /&gt;
&lt;br /&gt;
We have a dedicated data protection officer (“DPO”). You can contact the DPO using the details below or by writing to the above address, marking it for the attention of the DPO or going to Contact Us.&lt;br /&gt;
&lt;br /&gt;
2. What kinds of personal information about you do we process?&lt;br /&gt;
Personal information that we’ll process in connection with all of our products and services, if relevant, includes:&lt;br /&gt;
&lt;br /&gt;
Personal and contact details, such as title, full name, contact details and contact details history&lt;br /&gt;
Your date of birth, gender and/or age&lt;br /&gt;
Your nationality, if needed for the product or service&lt;br /&gt;
Details of beneficiaries, such as joint policy holders, named drivers, beneficiaries of our products or services&lt;br /&gt;
Family members (if relevant to the product or service)&lt;br /&gt;
Records of your contact with us such as via the phone number of our breakdown service and, if you get in touch with us online using our online services or via our smartphone app, details such as your mobile phone location data, IP address and MAC address&lt;br /&gt;
Products and services you hold with us, as well as have been interested in and have held and the associated payment methods used&lt;br /&gt;
The usage of our products and services, any call outs and claims and whether those claims were paid out or not (and details related to this)&lt;br /&gt;
Marketing to you and analysing data, including history of those communications, whether you open them or click on links, and information about products or services we think you may be interested in, and analysing data to help target offers to you that we think are of interest or relevance to you. Offers may include our car, insurance, financial services, connected car, travel and any of our other products and services&lt;br /&gt;
Vehicle information, such as make and model, faults, repairs and repair costs. Offers may include our car, insurance, financial services, connected car, travel and any of our other products and services&lt;br /&gt;
Telematics and driving information about your vehicle (including assessing and predicting faults or issues), driving style (including recommending improvements and assessing risk associated with your driving style), location and routes taken (for example, if you have Car Genie)&lt;br /&gt;
Driving school assessment, including feedback and analysis of your instructor&lt;br /&gt;
Information about your use of products or services held with our business partners, such as insurance policies, mortgage, savings or financial services and products&lt;br /&gt;
Information we obtained from third parties, including information about insurance risk, pricing, claims history, instances of suspect fraud and usage history&lt;br /&gt;
Personal information which we obtain from Credit Reference Agencies and Fraud Prevention Agencies (see the section on ‘Fraud Prevention Agencies’ below), including public (for example, defaults, CCJs) and shared credit history, financial situation and financial history&lt;br /&gt;
Fraud, debt and theft information, including details of money you owe, suspected instances of fraud or theft, and details of any devices used for fraud&lt;br /&gt;
Criminal records information, including alleged offences, for example if you apply for car insurance&lt;br /&gt;
Information about your health or if you are a vulnerable customer&lt;br /&gt;
Information about your property, such as location, value, number of rooms, property type and building work you’ve had done&lt;br /&gt;
Financial details about you, such as your salary and details of other income, details of your savings, details of your expenditure, and payment method(s)&lt;br /&gt;
Details about all of your existing borrowings and loans, if relevant&lt;br /&gt;
Information about your employment status, if relevant&lt;br /&gt;
Information about your property occupier status, such as whether you are a tenant, live with parents or are an owner occupier of the property where you live at the time of your application&lt;br /&gt;
Your residency and/or citizenship status, if relevant, such as your nationality, your length of residency in the UK and/or whether you have the permanent right to reside in UK&lt;br /&gt;
Your marital status, family, lifestyle or social circumstances, if relevant to the product (for example, the number of dependents you have or if you are a widow or widower)&lt;br /&gt;
Information we buy or rent from third parties, including demographic information, vehicle details, details of outstanding finance, vehicle claims history, marketing lists, publicly available information, and information to help improve the relevance of our products and services&lt;br /&gt;
Insights about you and our customers gained from analysis or profiling of customers&lt;br /&gt;
Where relevant, information about any guarantor which you provide in any application&lt;br /&gt;
Third party transactions; such as where a person other than the account holder uses the service, information about that person and the transaction&lt;br /&gt;
Tax information, if relevant (for example, for savings accounts)&lt;br /&gt;
3. What is the source of your personal information?&lt;br /&gt;
We’ll collect personal information from the following general sources:&lt;br /&gt;
&lt;br /&gt;
From you directly, and any information from family members, associates or beneficiaries of products and services&lt;br /&gt;
Information generated about you when you use our products and services&lt;br /&gt;
From a broker or other intermediary (for example, comparison site) who we work with to provide products or services or quote to you&lt;br /&gt;
AA Group companies if you already have a product with them, have applied for one or have held a one previously&lt;br /&gt;
Business partners (for example, financial services institutions, insurers), account beneficiaries, or others who are a part of providing your products and services or operating our business&lt;br /&gt;
From other sources such as Fraud Prevention Agencies, Credit Reference Agencies, other lenders, HMRC, DWP, publically available directories and information (for example, telephone directory, social media, internet, news articles), debt recovery and/or tracing agents, other organisations to assist in prevention and detection of crime, police and law enforcement agencies&lt;br /&gt;
We buy or rent information about you or customers generally from third parties including demographic information, vehicle details, claims history, fraud information, marketing lists, publicly available information and other information to help improve our products and services or our business&lt;br /&gt;
4. What do we use your personal data for?&lt;br /&gt;
We use your personal data, including any of the personal data listed in section 1 above, for the following purposes:&lt;br /&gt;
&lt;br /&gt;
Assessing an application for a product or service, including considering whether or not to offer you the product or service, the price, the risk of doing so, availability of payment method and the terms&lt;br /&gt;
Managing the product or service you have with us&lt;br /&gt;
Updating your records, tracing your whereabouts and recovering debt&lt;br /&gt;
Managing any aspect of the product or service&lt;br /&gt;
To make automated decisions on whether to offer you a product or service, or the price, payment method, risk or terms of it&lt;br /&gt;
To perform and/or test the performance of, our products, services and internal processes&lt;br /&gt;
To improve the operation of our business and that of our business partners&lt;br /&gt;
To follow guidance and best practice under the change to rules of governmental and regulatory bodies&lt;br /&gt;
For management and auditing of our business operations including accounting&lt;br /&gt;
To carry out checks at Credit Reference and Fraud Prevention Agencies pre-application, at application, and periodically after that&lt;br /&gt;
To monitor and to keep records of our communications with you and our staff (see below)&lt;br /&gt;
To administer our good governance requirements and those of other members of our AA Group, such as internal reporting and compliance obligations or administration required for Annual General Meeting (“AGM”) processes&lt;br /&gt;
For market research and analysis and developing statistics&lt;br /&gt;
Assessing and profiling aspects of your vehicle (including faults), driving style (including recommending improvements), location and routes taken (if relevant to your product or service)&lt;br /&gt;
For direct marketing communications and related profiling to help us to offer you relevant products and service, including deciding whether or not to offer you certain products and service. We’ll send marketing to you by SMS, email, phone, post, social media and digital channels (for example, using Facebook Custom Audiences and Google Custom Match). Offers may relate to any of our products and services such as cars, roadside assistance, money and financial services, insurance, travel, member offers (&amp;quot;Member Benefits&amp;quot;) as well as to any other offers and advice we think may be of interest&lt;br /&gt;
To provide personalised content and services to you, such as tailoring our products and services, our digital customer experience and offerings, and deciding which offers or promotions to show you on our digital channels&lt;br /&gt;
To develop new products and services and to review and improve current products and services&lt;br /&gt;
To comply with legal and regulatory obligations, requirements and guidance&lt;br /&gt;
To provide insight and analysis of our customers both for ourselves and for the benefit of business partners either as part of providing products or services, helping us improve products or services, or to assess or improve the operating of our businesses&lt;br /&gt;
To share information, as needed, with business partners (for example, financial services institutions, insurers), account beneficiaries, service providers or as part of providing and administering our products and services or operating our business&lt;br /&gt;
To facilitate the sale of one or more parts of our business&lt;br /&gt;
To enable other AA Group companies to perform any of the above purposes &lt;br /&gt;
To process any donations made to the AA Charitable Trust&lt;br /&gt;
5. What are the legal grounds for our processing of your personal information (including when we share it with others)?&lt;br /&gt;
We rely on the following legal bases to use your personal data:&lt;br /&gt;
&lt;br /&gt;
Where it is needed to provide you with our products or services, such as:&lt;br /&gt;
a) Assessing an application for a product or service you hold with us, including consider whether or not to offer you the product, the price, the payment methods available and the conditions to attach&lt;br /&gt;
b) Managing products and services you hold with us, or an application for one&lt;br /&gt;
c) Updating your records, tracing your whereabouts to contact you about your account and doing this for recovering debt (where appropriate)&lt;br /&gt;
d) Sharing your personal information with business partners and services providers when you apply for a product to help manage your product&lt;br /&gt;
e) All stages and activities relevant to managing the product or service including enquiry, application, administration and management of accounts, illustrations, requests for transfers of equity, setting up/changing/removing guarantors&lt;br /&gt;
f) For some of our profiling and other automated decision making to decide whether to offer you a product and/or service, particular payment method and the price or terms of this&lt;br /&gt;
&lt;br /&gt;
Where it is in our legitimate interests to do so, such as:&lt;br /&gt;
a) Managing your products and services relating to that, updating your records, tracing your whereabouts to contact you about your account and doing this for recovering debt (where appropriate)&lt;br /&gt;
b) To perform and/or test the performance of, our products, services and internal processes&lt;br /&gt;
c) To follow guidance and recommended best practice of government and regulatory bodies&lt;br /&gt;
d) For management and audit of our business operations including accounting&lt;br /&gt;
e) To carry out searches at Credit Reference Agencies pre-application, at the application stage, and periodically after that. Where you have been introduced to us by a broker or other intermediary they may do these searches on our behalf&lt;br /&gt;
f) To carry out monitoring and to keep records of our communications with you and our staff (see below)&lt;br /&gt;
g) To administer our good governance requirements and those of other members of our Group, such as internal reporting and compliance obligations or administration required for AGM processes&lt;br /&gt;
h) For market research and analysis and developing statistics&lt;br /&gt;
i) For direct marketing communications and related profiling to help us to offer you relevant products and services, including deciding whether or not to offer you certain products and service. We will send marketing to you by SMS, email, phone, post and social media and digital channels (for example, using Facebook Custom Audiences and Google Custom Match&lt;br /&gt;
j) Subject to the appropriate controls, to provide insight and analysis of our customers to business partners either as part of providing products or services, helping us improve products or services, or to assess or to improve the operating of our businesses&lt;br /&gt;
k) For some of our profiling and other automated decision making&lt;br /&gt;
l) Where we need to share your personal information with people or organisations in order to run our business or comply with any legal and/or regulatory obligations&lt;br /&gt;
&lt;br /&gt;
To comply with our legal obligations&lt;br /&gt;
With your consent or explicit consent:&lt;br /&gt;
a) For some direct marketing communications&lt;br /&gt;
b) For some of our profiling and other automated decision making&lt;br /&gt;
c) For some of our processing of special categories of personal data such as about your health, if you are a vulnerable customer or some criminal records information&lt;br /&gt;
&lt;br /&gt;
For a public interest, such as:&lt;br /&gt;
a) Processing of your special categories of personal data such as about your health, criminal records information (including alleged offences), or if you are a vulnerable customer&lt;br /&gt;
&lt;br /&gt;
6. When do we share your personal information with other organisations?&lt;br /&gt;
We may share information with the following third parties for the purposes listed above:&lt;br /&gt;
&lt;br /&gt;
AA Group companies and service providers&lt;br /&gt;
Business partners (for example, financial services institutions, insurers), account beneficiaries, or others who are a part of providing your products and services or operating our business including the Bank of Ireland (UK) plc, Northridge NIIB Group Ltd, trading as Northridge Finance and Marshall Leasing Ltd, trading as Marshall Leasing.&lt;br /&gt;
Governmental and regulatory bodies such as HMRC, the Financial Conduct Authority, the Prudential Regulation Authority, the Ombudsman, the Information Commissioner’s Office and under the Financial Services Compensation Scheme&lt;br /&gt;
Other organisations and businesses who provide services to us such as debt recovery agencies, back up and server hosting providers, IT software and maintenance providers, document storage providers and suppliers of other back office functions&lt;br /&gt;
Credit Reference and Fraud Prevention Agencies (see below)&lt;br /&gt;
Market research organisations who help us to develop and improve our products and services&lt;br /&gt;
7. How and when can you withdraw your consent?&lt;br /&gt;
Where we’re relying upon your consent to process personal data, you can withdraw this at any time by contacting us using the details below.&lt;br /&gt;
&lt;br /&gt;
8. Is your personal information transferred outside the UK or the EEA?&lt;br /&gt;
We’re based in the UK but sometimes your personal information may be transferred outside the European Economic Area. If we do so we’ll make sure that suitable safeguards are in place, for example by using approved contractual agreements, unless certain exceptions apply.&lt;br /&gt;
&lt;br /&gt;
9. How do we share your information with credit reference agencies?&lt;br /&gt;
To process your application, we’ll perform credit and identity checks on you with one or more credit reference agencies (CRAs). Where you take insurance, financial or credit services from us we may also make periodic searches at CRAs to manage your account with us. To do this we’ll supply your personal information to CRAs and they will give us information about you. This will include information from your credit application and about your financial situation and financial history. CRAs will supply to us both public (including the electoral register) and shared credit, financial situation and financial history information and fraud prevention information.&lt;br /&gt;
&lt;br /&gt;
We’ll use this information to:&lt;br /&gt;
&lt;br /&gt;
Assess your creditworthiness and whether you can afford to take the product&lt;br /&gt;
Verify the accuracy of the data you have provided to us&lt;br /&gt;
Prevent criminal activity, fraud and money laundering&lt;br /&gt;
Manage your account(s)&lt;br /&gt;
Assess payment methods available to you&lt;br /&gt;
Trace and recover debts&lt;br /&gt;
Make sure any offers provided to you are appropriate to your circumstances&lt;br /&gt;
We’ll continue to exchange information about you with CRAs while you have a relationship with us. We’ll also notify the CRAs about your settled accounts. If you borrow and don’t repay in full and on time, CRAs will record the outstanding debt. This information may be given to other organisations by CRAs. The identities of the CRAs, their role as fraud prevention agencies, the data they hold, the ways in which they use and share personal information, data retention periods and your data protection rights with the CRAs are explained in more detail on our website.&lt;br /&gt;
&lt;br /&gt;
When CRAs receive a search from us they will place a search footprint on your credit file that may be seen by other lenders.&lt;br /&gt;
&lt;br /&gt;
If you’re making a joint application, or tell us that you have a spouse or financial associate, we’ll link your records together, so you should make sure you discuss this with them, and share with them this information, before lodging the application. CRAs will also link your records together and these links will remain on your and their files until such time as you or your partner successfully files for a disassociation with the CRAs to break that link.&lt;br /&gt;
&lt;br /&gt;
10. How do we share your information with Fraud Prevention Agencies?&lt;br /&gt;
There are more details about how credit reference and fraud agencies use your personal data here.&lt;br /&gt;
&lt;br /&gt;
11. What should you do if your personal information changes?&lt;br /&gt;
You should tell us so that we can update our records using the details in the Contact Us section of our website. We’ll then update your records if we can.&lt;br /&gt;
&lt;br /&gt;
12. Do you have to provide your personal information to us?&lt;br /&gt;
We’re unable to provide you with our products or services if you do not provide certain information to us. In cases where providing some personal information is optional, we’ll make this clear.&lt;br /&gt;
&lt;br /&gt;
13. Do we do any monitoring involving processing of your personal information?&lt;br /&gt;
In this section monitoring means any: listening to, recording of, viewing of, intercepting of, or taking and keeping records (as the case may be) of calls, email, text messages, social media messages, in person (face to face) meetings and other communications.&lt;br /&gt;
&lt;br /&gt;
We may monitor where permitted by law and we’ll do this where the law requires it, or to comply with regulatory rules, to prevent or detect crime, in the interests of protecting the security of our communications systems and procedures and for quality control and staff training purposes. This information may be shared for the purposes described above.&lt;br /&gt;
&lt;br /&gt;
14. What about other automated decision making?&lt;br /&gt;
We sometimes make decisions about you using only technology, where none of our employees or any other individuals have been involved. For instance, we may do this to decide: whether to offer you a product or service, to determine the risk of doing so, the price we will offer, whether to offer you credit, what terms and conditions to offer you, assess lending, insurance and business risks, or to assess what payment methods we can offer you. We may also do this using data from other parts of the AA, including product or services details (including usage of them or claims made) and telematics data captured including on your vehicle, driving behaviour and location information.&lt;br /&gt;
&lt;br /&gt;
We’ll do this where it is necessary for entering into or performing the relevant contract, is authorised by laws that apply to us, or is based on your explicit consent.&lt;br /&gt;
&lt;br /&gt;
15. For how long is your personal information retained by us?&lt;br /&gt;
Unless we explain otherwise to you, we’ll hold your personal information based on the following criteria:&lt;br /&gt;
&lt;br /&gt;
For as long as we have reasonable business needs, such as managing our relationship with you and managing our operations&lt;br /&gt;
For as long as we provide goods and/or services to you and then for as long as someone could bring a claim against us; and/or&lt;br /&gt;
Retention periods in line with legal and regulatory requirements or guidance.&lt;br /&gt;
16. What are your rights under data protection laws?&lt;br /&gt;
Here is a list of the rights that all individuals have under data protection laws. They don’t apply in all circumstances. If you wish to use any of them, we’ll explain at that time if they are engaged or not. The right of data portability is only relevant from May 2018.&lt;br /&gt;
&lt;br /&gt;
The right to be informed about the processing of your personal information&lt;br /&gt;
The right to have your personal information corrected if it is inaccurate and to have incomplete personal information completed&lt;br /&gt;
The right to object to processing of your personal information&lt;br /&gt;
The right to restrict processing of your personal information&lt;br /&gt;
The right to have your personal information erased (the “right to be forgotten”)&lt;br /&gt;
The right to request access to your personal information and to obtain information about how we process it&lt;br /&gt;
The right to move, copy or transfer your personal information (“data portability”)&lt;br /&gt;
Rights in relation to automated decision making which has a legal effect or otherwise significantly affects you&lt;br /&gt;
You have the right to complain to the Information Commissioner’s Office which enforces data protection laws: https://ico.org.uk/. You can contact us using the details below.&lt;br /&gt;
&lt;br /&gt;
17. Your right to object&lt;br /&gt;
You have the right to object to certain purposes for processing, in particular to data processed for direct marketing purposes and to data processed for certain reasons based on our legitimate interests. You can contact us by going to the Contact Us section of our website to exercise these rights.&lt;br /&gt;
&lt;br /&gt;
18. What are your marketing preferences and what do they mean?&lt;br /&gt;
We may use your home address, phone numbers, email address and social media or digital channels (for example, Facebook, Google and message facilities in other platforms) to contact you according to your marketing preferences.&lt;br /&gt;
&lt;br /&gt;
You can opt out of any email or text marketing by following the unsubscribe links. If you receive a marketing call from us, you can ask the person who called you to opt you out. You can also write to us at AA PLC, Fanum House, Basing View, Basingstoke, Hampshire, RG21 4EA, marking it for the attention of the DPO. Or send us an email on our Contact Us page - choose ‘Using our services’ and then ‘I want to opt out of marketing messaging’.&lt;br /&gt;
&lt;br /&gt;
Contact Us&lt;br /&gt;
If you have any questions about this privacy notice, or if you wish to exercise your rights or contact the DPO, you can contact us by going to the Contact Us section of our website. Alternatively, you can write to AA PLC, Fanum House, Basing View, Basingstoke, Hampshire, RG21 4EA, marking it for the attention of the DPO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Beispiel Marketing Anfrage Experian ===&lt;br /&gt;
Radiobox statt Checkbox funktioniert oft besser und ist konform.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Would you like to hear from us?By signing up to Experian business marketing communications you will receive the latest research, insight, news and invites to events and webinars. Experian offers a wide range of products and services. We will do our best to send you only communications that we deem to be relevant to you, your job and your business.You can change your mind at any time.&lt;br /&gt;
 Yes - I would like to receive Experian marketing communications&lt;br /&gt;
 No - I do not want to receive Experian marketing communications&lt;br /&gt;
View our privacy policy for details on use and storage of your personal data.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Beispiel - E-Mail Newsletter Tesco ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Marketing communications&lt;br /&gt;
Our customers enjoy receiving special offers, helpful information and money saving coupons by email, text, phone and post.&lt;br /&gt;
So you don&amp;#039;t miss out, simply tick the boxes below&lt;br /&gt;
Remember, you can opt out at any time.&lt;br /&gt;
Tesco Stores (this includes Groceries, Clubcard, Wine by the case, Jack’s and similar goods and services)&lt;br /&gt;
Tesco Bank (by ticking this you are confirming you are over the age of 18)&lt;br /&gt;
Tesco Mobile&lt;br /&gt;
If you&amp;#039;ve already signed up to receive offers and promotions from Tesco Bank or Tesco Mobile, you&amp;#039;ll need to contact them directly to opt out.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Beispiel - Account creation Tesco ===&lt;br /&gt;
Footer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Please make sure you read our terms and conditions opens in new window because you&amp;#039;re agreeing to them by creating a Tesco account. It&amp;#039;s also worth reading our privacy and cookies policy opens in new window so you understand how we collect and use your personal data.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beispiel Formulare ===&lt;br /&gt;
==== Minimal ====&lt;br /&gt;
 By submitting this form, you agree to the Terms o fuse and Privacy of the website&lt;br /&gt;
&lt;br /&gt;
 I want to receive emails about offers and services from xyz&lt;br /&gt;
&lt;br /&gt;
 I consent to my data being stored in line with the privacy policy&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Basic_Concepts&amp;diff=25170</id>
		<title>Vue - Basic Concepts</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Basic_Concepts&amp;diff=25170"/>
		<updated>2021-01-11T16:23:28Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Class Attribut */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
 [[Vue.js]]&lt;br /&gt;
 [[Vue - Components]]&lt;br /&gt;
 [[Vue - Snippets]]&lt;br /&gt;
&lt;br /&gt;
== Übersicht ==&lt;br /&gt;
* Deklarativer Ansatz&lt;br /&gt;
* Data Option / Function&lt;br /&gt;
* Methods Option / Object&lt;br /&gt;
* Outputting Data mit&lt;br /&gt;
** Interpolation {{}}&lt;br /&gt;
** Bindings v-bind:property=&amp;quot;myVal&amp;quot;&lt;br /&gt;
** Methods&lt;br /&gt;
** JavaScript Objects&lt;br /&gt;
* this &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// create App&lt;br /&gt;
const app = Vue.createApp();&lt;br /&gt;
// mount a html region&lt;br /&gt;
// app.mount(&amp;#039;cssSelector&amp;#039;);&lt;br /&gt;
app.mount(&amp;#039;#myId&amp;#039;); // Vue controls now this id in the DOM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const app = Vue.createApp({&lt;br /&gt;
  // DATA FUNCTION can hold key val pairs&lt;br /&gt;
  data() { //or data: function(){...}&lt;br /&gt;
    return{ // data always returns an object&lt;br /&gt;
      myVar: &amp;#039;Learn Vue&amp;#039;,// can store keys with vals of every type(bool, object, string...)&lt;br /&gt;
      myVar2: &amp;#039;Master Vue&amp;lt;, &lt;br /&gt;
      myHTML: &amp;#039;&amp;lt;h3&amp;gt;HTML Code&amp;lt;/h3&amp;gt;&amp;#039;, // use v-html to output html code&lt;br /&gt;
      myLink: &amp;#039;https://viewjs.org&amp;#039;&lt;br /&gt;
    }; &lt;br /&gt;
  }&lt;br /&gt;
  // METHODS OBJECT HOLDS FUNCTIONS&lt;br /&gt;
  methods: {&lt;br /&gt;
    outputGoal(){&lt;br /&gt;
      const randomNumber = Math.random();&lt;br /&gt;
      if (randomNumber &amp;lt; 0.5) {return &amp;#039;Learn Vue&amp;#039;;}&lt;br /&gt;
      else {return this.myVar2} // &amp;#039;this&amp;#039; works because vue merges all data and methods in a global vue object&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;myId&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Interpolation&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;{{ myVar }}&amp;lt;/p&amp;gt; &amp;lt;!-- Interpolation outputs &amp;quot;Learn Vue&amp;quot; --&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Binding&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Use bindings to set attributes. I.e. set the href attribute. {{myLink}} wouldn&amp;#039;t work inside of tags.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Learn more &amp;lt;a v-bind:href=&amp;quot;myLink&amp;quot;&amp;gt;about Vue&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;{{ outputGoal() }}&amp;lt;/p&amp;gt;&amp;lt;!-- functions or simple js expresseions like 1+1 work to --&amp;gt;&lt;br /&gt;
&amp;lt;p v-html=&amp;quot;myHTML&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Beispiel sind einige der Basiskonzepte zu sehen.&lt;br /&gt;
&lt;br /&gt;
=== data() Objekt ===&lt;br /&gt;
Die Funnktion data(){} ist eine Funktion die alle Properties initialisiert. Die Funnktion gibt ein Objekt mit allen Eigenschaften zurück: data(){ return {prop1: &amp;#039;hallo&amp;#039;} }. Die Properties können Zahlen, Strings, Objekte... sein.&lt;br /&gt;
&lt;br /&gt;
=== methods Objekt ===&lt;br /&gt;
Das Objekt methods{} gibt Methoden zurück die man nutzen kann. Es gibt noch computed und watch für ähnliche Aufgaben s.u.&lt;br /&gt;
&lt;br /&gt;
=== Interpolations ===&lt;br /&gt;
Interpolations sind vereinfacht gesagt &amp;#039;&amp;#039;&amp;#039;Platzhalter&amp;#039;&amp;#039;&amp;#039;. Man kann man im HTML Template nutzen um Eigenschaften (oder den Rückgabewert von Funktionen oder auch Ausdrücke) auszugeben.&lt;br /&gt;
 {{ myproperty }}&lt;br /&gt;
 {{ myFunction }} // Referenz auf eine Funktion&lt;br /&gt;
 {{ myFunction() }} // Funktion (wird direkt ausgeführt (vgl. methods, computed, watch)&lt;br /&gt;
 {{ 1 + 1 }}&lt;br /&gt;
Da hier mehr als nur ein Einsetzen stattfindet greift Platzhalter eigentlich zu kurz. Vielmehr verkabelt (bindet) man Teile des Templates dynamisch an Ereignisse, Eigenschaften und Funktionen. &lt;br /&gt;
&lt;br /&gt;
=== Deklarativer Ansatz ===&lt;br /&gt;
Dies bedeutet man &amp;#039;&amp;#039;&amp;#039;deklariert wo etwas passieren&amp;#039;&amp;#039;&amp;#039; soll und Vue prüft selbstständig ob sich etwas verändert hat und irgendwo etwas neu gerendert wird. Beim klassischen Ansatz würde man alles was neu gerendert wird selbst programmieren. In der Praxis setzt man die Interpolations und definiert im HTML Code Bindings und Event Handler und überläßt Vue dann die Überwachung was damit passieren soll.&lt;br /&gt;
&lt;br /&gt;
=== v-bind ===&lt;br /&gt;
Mit v-bind kann man P&amp;#039;&amp;#039;&amp;#039;roperties auch in HTML Attributen nutzen&amp;#039;&amp;#039;&amp;#039;. Interpolations funktionieren nur zwischen HTML-Tags.&lt;br /&gt;
 &amp;lt;a v-bind:href=&amp;quot;myLink&amp;quot;&amp;gt;about Vue&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Shortcut v-bind ====&lt;br /&gt;
v-bind: kann durch : ersetzt werden&lt;br /&gt;
  &amp;lt;a :href=&amp;quot;myLink&amp;quot;&amp;gt;about Vue&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== v-html ===&lt;br /&gt;
Benötigt man wenn &amp;#039;&amp;#039;&amp;#039;reiner HTML Code&amp;#039;&amp;#039;&amp;#039; ausgegeben wird. Interpolations escapen HTML aus Sicherheitsgründen.&lt;br /&gt;
&lt;br /&gt;
=== this ===&lt;br /&gt;
Mit this kann man auf das &amp;#039;&amp;#039;&amp;#039;globale Datenobjekt&amp;#039;&amp;#039;&amp;#039; zugreifen. Man kann damit z.B. in methods auf alle Eigenschaften in data zugreifen. Und diese auch setzten.&lt;br /&gt;
 this.myVar = &amp;#039;Hallo Welt&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Event Handling ==&lt;br /&gt;
=== v-on ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const app = Vue.createApp({&lt;br /&gt;
  data() {&lt;br /&gt;
    return {&lt;br /&gt;
      counter: 0,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
  methods:{&lt;br /&gt;
    plus(n){ this.counter = this.counter + n },&lt;br /&gt;
    minus(n){ this.counter = this.counter - n },&lt;br /&gt;
    updateName(event){&lt;br /&gt;
      this.name = event.target.value&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#events&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;section id=&amp;quot;events&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Events in Action&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt; We can use expression in v-on:click or use a function from our methods object&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;!-- CLICK EVENT --&amp;gt;&lt;br /&gt;
  &amp;lt;button v-on:click=&amp;quot;plus(5)&amp;quot;&amp;gt;Add 5&amp;lt;/button&amp;gt;&lt;br /&gt;
  &amp;lt;button v-on:click=&amp;quot;minus(5)&amp;quot;&amp;gt;Substract 5&amp;lt;/button&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Result: {{ counter }}&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;!-- INPUT EVENT --&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;text&amp;quot; v-on:input=&amp;quot;updateName&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Hello {{ name }}&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== v-on Shortcut ====&lt;br /&gt;
v-on: kann durch @ ersetzt werden.&lt;br /&gt;
 v-on:click=&amp;quot;plus(5)&amp;quot;&lt;br /&gt;
 @:click=&amp;quot;plus(5)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $event ===&lt;br /&gt;
In Eventlistenern kann man automatisch auf das event Argument zugreifen, das der Browser automatisch mitliefert (siehe Beispiel oben). Wenn man allerdings selbst ein Argument übermittelt wird das Event Argument überschrieben. Man kann aber mit dem reservierten Argument $event trotzdem wieder auf das Event Objekt zugreifen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
    updateName(event, lastName){&lt;br /&gt;
      this.name = event.target.value + &amp;#039; &amp;#039; + lastName&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;input type=&amp;quot;text&amp;quot; v-on:input=&amp;quot;updateName($event,&amp;#039;Schlegel&amp;#039;)&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;Hello {{ name }}&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Event Modifiers ===&lt;br /&gt;
Es gibt verschiedene Event Modifier z.B. um sich ein event.preventDefault() zu sparen. Event Modifiers werden mit einem &amp;#039;.&amp;#039; an das Event im HTML angehängt&lt;br /&gt;
 v-on:submit.prevent&lt;br /&gt;
&lt;br /&gt;
 https://vuejs.org/v2/guide/events.html#Event-Modifiers&lt;br /&gt;
==== Click Modifiers ====&lt;br /&gt;
 v-on:click.right&lt;br /&gt;
 v-on:click.middle&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==== Key Modifiers ====&lt;br /&gt;
 //.enter means fire only if ENTER Key is pressed&lt;br /&gt;
 v-on:keyup.enter=&amp;quot;confirmInput&amp;quot; //possible is all ctrl, shift, page-down...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--also multiple v-on handlers are possible--&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; &lt;br /&gt;
  v-on:input=&amp;quot;updateName&amp;quot; &lt;br /&gt;
  v-on:keyup.enter=&amp;quot;confirmName&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Hello {{ confirmedName }}&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const app = Vue.createApp({&lt;br /&gt;
  data() {&lt;br /&gt;
    return {&lt;br /&gt;
      name: &amp;#039;&amp;#039;,&lt;br /&gt;
      confirmedName: &amp;#039;&amp;#039;,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
  methods:{&lt;br /&gt;
    updateName(event, lastName){&lt;br /&gt;
      this.name = event.target.value&lt;br /&gt;
    },&lt;br /&gt;
    confirmName(){&lt;br /&gt;
      this.confirmedName = this.name &lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
app.mount(&amp;#039;#events&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Two way binding ==&lt;br /&gt;
Bei Input Feldern möchten wir oft einerseits &lt;br /&gt;
 1. Eine data Property mit mit der User Eingabe setzen&lt;br /&gt;
 2. Eine data Property auslesen und im value Attribut setzen. &lt;br /&gt;
Das bedeutet wir müssen das Input Feld auf zwei Wegen verbinden&lt;br /&gt;
&lt;br /&gt;
=== Beispiel Reset Button ===&lt;br /&gt;
Das Input Feld bekommt 2 Binds&lt;br /&gt;
&lt;br /&gt;
 1. Value Attribut wird an das &amp;quot;name&amp;quot; Property gebuden.&lt;br /&gt;
 2. Input Event wird an die Funktion &amp;quot;setName&amp;quot; gebunden.&lt;br /&gt;
&lt;br /&gt;
Wird von irgendwoher (in unserem Fall vom Reset Knopf) die Eigenschaft &amp;quot;name&amp;quot; verändert, so wird auch der value im Input automatisch verändert.&lt;br /&gt;
In Vanilla JS müßten wir alle Stellen in denen name gesetzt ist von Hand zurücksetzen müssen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; v-bind:value=&amp;quot;name&amp;quot; v-on:input=&amp;quot;setName($event)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Your Name: {{ name }}&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;button v-on:click=&amp;quot;reset()&amp;quot;&amp;gt;Reset&amp;lt;/button&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
  data() {&lt;br /&gt;
    return { name: &amp;#039;&amp;#039; };&lt;br /&gt;
  },&lt;br /&gt;
  methods: {&lt;br /&gt;
    setName(event) { this.name = event.target.value; },&lt;br /&gt;
    reset() { this.name = &amp;#039;&amp;#039;; }&lt;br /&gt;
  }&lt;br /&gt;
//...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== v-model two-way-binding ====&lt;br /&gt;
Two Way Binding bedeutet also die Kombination aus &amp;#039;&amp;#039;&amp;#039;Eventhandling&amp;#039;&amp;#039;&amp;#039; (Ereignisbehandlung = Aufrufen einer Funktion bei einem Event) &amp;#039;&amp;#039;&amp;#039;und Databinding&amp;#039;&amp;#039;&amp;#039; (Die Bindung des Wertes an eine Eigenschaft). Dieser Fall tritt sehr oft auf, daher gibt es für dieses Muster eine eigene Direktive.&lt;br /&gt;
&lt;br /&gt;
Statt&lt;br /&gt;
 &amp;lt;input type=&amp;quot;text&amp;quot; v-bind:value=&amp;quot;name&amp;quot; v-on:input=&amp;quot;setName($event)&amp;quot;&amp;gt;&lt;br /&gt;
schreiben wir nur&lt;br /&gt;
 &amp;lt;input type=&amp;quot;text&amp;quot; v-model=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Die Funktion setName die wir oben haben entfällt komplett.&amp;#039;&amp;#039;&amp;#039; Denn die Eigenschaft &amp;quot;name&amp;quot; wird mit two-way-binding sowohl gesetzt als auch abgerufen. Im Two Way Binding ist das Model also mit Getter und Setter enthalten. &lt;br /&gt;
&lt;br /&gt;
== Computed Properties ==&lt;br /&gt;
Wir können Interpolations auch mit Funktionen nutzen:&lt;br /&gt;
&amp;lt;pre&amp;gt; {{ myFunction() }} &amp;lt;/pre&amp;gt;&lt;br /&gt;
Das kann allerdings in &amp;#039;&amp;#039;&amp;#039;Performance Problemen&amp;#039;&amp;#039;&amp;#039; enden. &amp;#039;&amp;#039;&amp;#039;Da Vue nicht weiß welche Properties in der Funktion angepasst werden&amp;#039;&amp;#039;&amp;#039; führt es diese Funktion bei jeder Änderung von irgendwelchen Properties (in data) aus, auch wenn das gar nicht notwendig ist. Um das zu umgehen gibt es neben &amp;#039;&amp;#039;data&amp;#039;&amp;#039; und &amp;#039;&amp;#039;methods&amp;#039;&amp;#039; noch ein drittes Konigurationsobjekt nämlich &amp;#039;&amp;#039;computed&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Im computed Objekt können wir wie in methods &amp;#039;&amp;#039;&amp;#039;Funktionen definieren&amp;#039;&amp;#039;&amp;#039;. Diese Funktionen werden aber &amp;#039;&amp;#039;&amp;#039;benutzt wie Eigenschaften&amp;#039;&amp;#039;&amp;#039;. Daher sollte man sie auch wie Properties benennen also z.b. nicht renderFullname sondern fullname. Im HTML Code darf sich auch nicht aufgerufen werden sondern man zeigt nur auf die Funktion also &amp;#039;&amp;#039;&amp;#039;NICHT {{ fullname() }} sondern nur {{ fullname }}&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Per Konzept ruft Vue diese Funktionen dann selbst auf wenn notwendig.&lt;br /&gt;
 &lt;br /&gt;
=== method oder computed ? ===&lt;br /&gt;
computed&lt;br /&gt;
* immer dann wenn etwas gerendert werden soll &lt;br /&gt;
* wenn man die Funktion wie eine Eigenschaft nutzt (Funktion in einer Interpolation)&lt;br /&gt;
* rufe niemals eine computed method auf&lt;br /&gt;
&lt;br /&gt;
method&lt;br /&gt;
* Wenn eine Methode immer ausgeführt werden soll sobald eine Änderung eintritt. Dann kannst du eine Methode direkt in eine Interpolation schreiben.&lt;br /&gt;
* Für bindings. Also Funktionen die bei Events aufgerufen werden.&lt;br /&gt;
* Tatsächliche Funktionalität die von anderen Methoden aufgerufen wird.&lt;br /&gt;
&lt;br /&gt;
== Watchers ==&lt;br /&gt;
Watchers sind ein 4. Konfigurationsobjekt und haben Ähnlichkeit mit den Computed Properties. Ein Watcher überwacht die Änderung einer Eigenschaft und wird dann ausgeführt.&lt;br /&gt;
Eine Watcherfunktion bekommt immer den Namen einer Eigenschaft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
data{&lt;br /&gt;
  counter: 0;&lt;br /&gt;
},&lt;br /&gt;
watch{&lt;br /&gt;
    counter(value){&lt;br /&gt;
      if (value &amp;gt; 50) this.counter = 0;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wann immer sich die Eigenschaft counter verändert wird die Funktion counter() aufgerufen.&lt;br /&gt;
&lt;br /&gt;
Der Watcher Funktion kann automatisch der aktuellste und der vorigen Wert der Eigenschaftsvariablen übergeben werden.&lt;br /&gt;
 counter(oldValue, newValue){ ... }&lt;br /&gt;
&lt;br /&gt;
Die Stärken von Watchern sind die Überwachung von Zuständen. Du nutzt sie immer dann wenn etwas ausgeführt werden soll wenn ein bestimmter Zustand eintrifft. Computed Properties haben ihre Stärke eher dann wenn einfach nur Werte bei jedem Event verändert werden müssen aber ein v-model nicht ausreicht.&lt;br /&gt;
&lt;br /&gt;
== methods vs computed vs watch ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Einsatzbereich von Methods &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Wenn in Interpolations&amp;#039;&amp;#039;&amp;#039; {{ functionName() }} werden Sie bei &amp;#039;&amp;#039;&amp;#039;jeder Änderung, egal welcher Property&amp;#039;&amp;#039;&amp;#039; ausgeführt. -&amp;gt; Nur bei Aufgaben die bei jeder Änderung ausgeführt werden sollen&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Aufgaben die von Events via v-bind aufgerufen werden. Also bei der &amp;#039;&amp;#039;&amp;#039;Ereignisbehandlung&amp;#039;&amp;#039;&amp;#039;.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Allgemeine Funktionen ohne bestimmten Bezug zu einem Event o.ä. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Einsatzbereich von Computed Properties &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Aufgaben die bei &amp;#039;&amp;#039;&amp;#039;Änderungen von einer oder mehrere Eigenschaften ausgeführt werden, aber nicht bei allen.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Aufgaben die von mehreren Eigenschaften abhängen&amp;#039;&amp;#039;&amp;#039; (z.B. Vor- ODER Nachname wird geändert). Hier kann man mit CP Code im Vergleich zu Watchern sparen.&lt;br /&gt;
* Bessere Performance wenn nicht alle Eigenschaften berücksichtigt werden müssen (im Vergleich zu Methods).&lt;br /&gt;
* werden nicht direkt in Interpolations aufgerufen sondern nur referenziert ( {{ myComputed }} aber nicht {{ myComputed() }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Einsatzbereich von Watchern&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Aufgaben die &amp;#039;&amp;#039;&amp;#039;bei bestimmten Ereignissen&amp;#039;&amp;#039;&amp;#039; ausgerführt werden. Sprich: Eigenschaften auf einen bestimmten Zustand hin überwachen.&lt;br /&gt;
* Bei einem bestimmten Zustand einen http Request ausführen&lt;br /&gt;
* Timer starten, resetten&lt;br /&gt;
* Etwas in localStorage speichern&lt;br /&gt;
* Werden nicht direkt im Template verwendet (nur die Property)&lt;br /&gt;
* Können Properties aber auch computed Properties überwachen&lt;br /&gt;
&lt;br /&gt;
== Dynamic Styling ==&lt;br /&gt;
&lt;br /&gt;
=== Style Attribut ===&lt;br /&gt;
In den Attributen style und class erlaubt Vue eine besondere Syntax. Man kann ein Objekt mit einem Style direkt mit v-bind (oder :) einsetzen.&lt;br /&gt;
 v-bind:style=&amp;quot;{color:green}&amp;quot;&lt;br /&gt;
bei Eigenschaften mit Bindestrich kann man camelCase verwenden:&lt;br /&gt;
 v-bind:style=&amp;quot;&amp;#039;border-color&amp;#039;: red&amp;quot;&lt;br /&gt;
 v-bind:style=&amp;quot;borderColor: red&amp;quot;&lt;br /&gt;
Auch Ausdrücke sind wie immer bei Vue erlaubt. Hier ein Beispiel (beachte auch v-bind: wird durch : ersetzt)&lt;br /&gt;
 :style=&amp;quot;{borderColor: selectedBoxA ? &amp;#039;red&amp;#039; : &amp;#039;#ccc&amp;#039; }&amp;quot;&lt;br /&gt;
In diesem Beispiel gehen wir davon aus dass wir eine Property &amp;#039;selectedBoxA haben, die auf true oder false steht.&lt;br /&gt;
&lt;br /&gt;
=== Class Attribut ===&lt;br /&gt;
Vue kann auch eine Klasse setzten. Das ist in der Regel auch die bessere Vorgehensweise, da man Inline Styles schlecht überschreiben kann. Auch hier sind Ausdrücke möglich. Wir gehen in den Beispielen davon aus, dass wir eine Eigenschaft &amp;#039;&amp;#039;&amp;#039;selectedBoxA&amp;#039;&amp;#039;&amp;#039; haben die true oder false ist und eine Funktion &amp;#039;&amp;#039;selectBox()&amp;#039;&amp;#039; die für uns diese Eigenschaft auf true setzen kann.&lt;br /&gt;
 :class=&amp;quot;selectedBoxA ? &amp;#039;active demo&amp;#039; : &amp;#039;demo&amp;#039;&amp;quot;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div @click=&amp;quot;selectBox(&amp;#039;A&amp;#039;)&amp;quot; :class=&amp;quot;selectedBoxA ? &amp;#039;active demo&amp;#039; : &amp;#039;demo&amp;#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Auch für class gibt es eine spezielle Syntax die das Leben einfacher macht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div @click=&amp;quot;selectBox(&amp;#039;A&amp;#039;)&amp;quot; :class=&amp;quot;{demo: true, active: boxSelectedA}&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vue akzeptiert ein Objekt in dem man einfach key value Paare übergibt. &amp;#039;&amp;#039;&amp;#039;Ist der value true wird die Klasse gesetzt&amp;#039;&amp;#039;&amp;#039;. wenn also boxSelectedA true ist wird die Klasse active gesetzt. Demo wird immer gessetzt.&lt;br /&gt;
&lt;br /&gt;
==== class + :class ====&lt;br /&gt;
Noch einfacher wird es, wenn man auch das class Attribut und das v-bind class Attribut zusammen einsetzt. Vue merged dann das dynamisch gebundene mit dem statischen class Attribut.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div @click=&amp;quot;selectBox(&amp;#039;A&amp;#039;)&amp;quot; class=&amp;quot;demo&amp;quot; :class=&amp;quot;{active: boxSelectedA}&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Class Object aus computed property ====&lt;br /&gt;
Du kannst auch die Logik komplett auslagern. Dazu gibst du das Object am Besten aus einem computed Property zurück:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div @click=&amp;quot;selectBox(&amp;#039;A&amp;#039;)&amp;quot; class=&amp;quot;demo&amp;quot; :class=&amp;quot;boxAClasses&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
computed:{ &lt;br /&gt;
  boxAClasses(){ &lt;br /&gt;
    return{ active: this.boxSelectedA } &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hier kann man auch komplexere Logik abbilden.&lt;br /&gt;
&lt;br /&gt;
==== Array Schreibweise / mehrere Class Objekte ====&lt;br /&gt;
Du kannst auch mehrere Objekte nutzen. Dazu kommen Sie in ein Array:&lt;br /&gt;
 :class=&amp;quot;[&amp;#039;demo&amp;#039;, {active: boxSelectedA}]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Conditions &amp;amp; Loops ==&lt;br /&gt;
=== v-if / v-else / v-else-if ===&lt;br /&gt;
Mit Conditions kann man Teile des DOM anzeigen oder entfernen. Wichtig: die Teile werden tatsächlich entfernt und hinzugefügt und nicht einfach versteckt.&lt;br /&gt;
&lt;br /&gt;
In data() haben wir ein array definiert: &lt;br /&gt;
 goals: []&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p v-if=&amp;quot;goals.length === 0&amp;quot;&amp;gt;No goals have been added yet - please start adding some!&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul v-else&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Goal&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn goals Inhalt hat wird die Liste angezeigt. Das ist hier natürlich nur mäßig sinnvoll, da wir die Liste hier nicht dynamisch füllen, erklärt aber das Prinzip.&lt;br /&gt;
&lt;br /&gt;
Außerdem gibt es noch v-else-if das man genauso wie das v-else nach v-if einbauen kann. Funktioniert wie in anderen Sprachen.&lt;br /&gt;
&lt;br /&gt;
=== v-show ===&lt;br /&gt;
Mit v-show werden DOM Elemente gezeigt oder versteckt. Die Anwendung ist analog zu v-else. v-show kann nur alleine verwendet werden. Versteckte Elemente werden nur per Inline-Style versteckt und bleiben im DOM. I.d.R. verwendet man v-if. v-show kann man nutzen wenn ein Element sehr oft ein und ausgeblendet wird. Dabei kann v-show etwas perfomanter sein. Allerdings auf Kosten von unnötigem Ballast im DOM.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;p v-show=&amp;quot;goals.length === 0&amp;quot;&amp;gt;No goals have been added yet - please start adding some!&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== v-for ===&lt;br /&gt;
Dies ist die Entsprechung des JavaScript for loops. &lt;br /&gt;
JavaScript:&lt;br /&gt;
 for(const goals of goal)&lt;br /&gt;
Vue:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;li v-for=&amp;quot;goal in goals&amp;quot;&amp;gt;{{goal}}&amp;lt;/li&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wie in JavaScript kann man auch of statt in nehmen. Ist aber wenig üblich. Mit in kann man direkt auf einzelne Element zugreifen kann. Wenn goals ein Array mit Strings ist:&lt;br /&gt;
 goals:[&amp;#039;one&amp;#039;, &amp;#039;two&amp;#039;, &amp;#039;three&amp;#039;]&lt;br /&gt;
erzeugt vue hier&lt;br /&gt;
 &amp;lt;li&amp;gt;one&amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;two&amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;three&amp;lt;/li&amp;gt;&lt;br /&gt;
==== for loop - index ====&lt;br /&gt;
Vue kann auch den Index des Arrays als zweiten Parameter übergeben.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;li v-for=&amp;quot;(goal, i) in goals&amp;quot;&amp;gt;#{{i}} {{goal}}&amp;lt;/li&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== for loop mit Objekten ====&lt;br /&gt;
For funktioniert analog auch mit Objekten. Im Beispiel packen wir das Objekt einfach mit in den Loop. In der Praxis würde man dies eher im JavaScript Code erzeugen. Die Variablen item und key sind hier ebenfalls frei wählbar. Das erste Argument bekommt den Wert, das Zweite den Schlüssel.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;li v-for=&amp;quot;(item, key) in {color:&amp;#039;red&amp;#039;, taste: &amp;#039;sweet&amp;#039;, fruit: &amp;#039;cherry&amp;#039;}&amp;quot;&amp;gt; {{key}}: {{item}} &amp;lt;/li&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Als drittes Argument könnte man auch noch den index bekommen. &lt;br /&gt;
 (value, key, index)&lt;br /&gt;
&lt;br /&gt;
==== for loop mit Zahlenbereich ====&lt;br /&gt;
Auch ranges sind möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;li v-for=&amp;quot;n in 10&amp;quot;&amp;gt;{{ n }}&amp;lt;/li&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
Nutze nicht v-if und v-for auf dem selben Element. Stattdessen nutze einen v-if wrapper (also das if Element um das v-for legen)&lt;br /&gt;
&lt;br /&gt;
=== key Attribut ===&lt;br /&gt;
Achtung: Wenn Vue ein Listenelement entfernt werden die folgenden dynamischen Inhalte einfach ein Element nach vorne verschoben. Evtl. statische Inhalte verbleiben. Das kann seltsames Verhalten erzeugen sobald mehr als der dynamische Tag im geloopten Element ist. Vue macht dies aus Performance Gründen so. Damit man dies umgehen kann gibt es das key Attribut. Das ist ein spezielles Attribut, in das mein einen eindeutigen Identifier für das aktuelle Element schreibt (z.B. aus der Datenbank) Mit hilfe dieses keys kann Vue die Liste effizient managen.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Wenn du for verwendest nutze immer das key Attribut!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;li :key=&amp;quot;goal&amp;quot; v-for=&amp;quot;(goal, i) in goals&amp;quot; @click=&amp;quot;removeGoal(i)&amp;quot;&amp;gt;#{{i}} {{goal}}&amp;lt;/li&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Refs - Änderungen auf Abruf verarbeiten ==&lt;br /&gt;
Die Reaktivität von Vue bedeutet, dass bei jeder Änderung eines Wertes Code ausgeführt wird. Füllt ein User z.B. ein Input Feld aus wird mit jedem Tastendruck Code ausgeführt. In manche Fällen  möchte man den geänderten Wert erst verarbeiten wenn der User fertig ist.&lt;br /&gt;
&lt;br /&gt;
Dafür gibt es das ref Attribut. Dies ist ein Vue-spezifisches Attribut. Wenn man es setzt wird bei diesem Element nicht sofort die Reflektionskette in Gang gesetzt. Stattdessen landet der Wert im &amp;#039;&amp;#039;&amp;#039;$refs Objekt&amp;#039;&amp;#039;&amp;#039;. Dies ist ein spezieller Speicher denn man &amp;#039;&amp;#039;&amp;#039;jederzeit manuell auslesen kann&amp;#039;&amp;#039;&amp;#039;. Der Zugriff erfolgt so:&lt;br /&gt;
 this.$refs.[refname].value&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;section id=&amp;quot;app&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;text&amp;quot; @input=&amp;quot;saveText&amp;quot;&amp;gt; &amp;lt;!-- ohne ref --&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;text&amp;quot; ref=&amp;quot;userText&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;button @click=&amp;quot;setText&amp;quot;&amp;gt;Set Text&amp;lt;/button&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;{{ message }}&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
saveInput(event) {&lt;br /&gt;
  this.currentUserInput = event.target.value; // ohne ref&lt;br /&gt;
},&lt;br /&gt;
setText() {&lt;br /&gt;
  this.message = this.currentUserInput; // ohne ref&lt;br /&gt;
  this.message = this.$refs.userText.value; // mit ref&lt;br /&gt;
  // console.dir(this.$refs.userText);&lt;br /&gt;
},&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Templates ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Templates bezeichnen den Bereich des DOM den eine App kontrolliert.&amp;#039;&amp;#039;&amp;#039; In der Praxis holt man sich das Template oft über den Selector in .mount().&lt;br /&gt;
&lt;br /&gt;
Man kann aber auch in der Konfiguration mit dem template Objekt, der Inhalt eines Template direkt im JS erzeugt werden. Trotzdem muss es noch gemounted werden, damit Vue weiß wo auf der Seite die App gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
== Mehrere Apps ==&lt;br /&gt;
Man kann auch mehrere Apps auf einer Seite haben, die dann unterschiedliche Templates kontrollieren. &lt;br /&gt;
* Apps sind voneinander getrennt. Eine App hat keine Zugriff auf die Daten der anderen App.&lt;br /&gt;
* Ein Template soll nur von einer App kontrolliert werden.&lt;br /&gt;
&lt;br /&gt;
== Hooks / Vue Lifecycle ==&lt;br /&gt;
Im Lifecycle einer App treten einige definierte Ereignisse auf, in die man auch per Hook eingreifen kann. Das sind die Hooks einer Vue App:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  methods: {&lt;br /&gt;
    saveInput(event) {&lt;br /&gt;
      this.currentUserInput = event.target.value;&lt;br /&gt;
    },&lt;br /&gt;
    setText() {&lt;br /&gt;
      // this.message = this.currentUserInput;&lt;br /&gt;
      this.message = this.$refs.userText.value;&lt;br /&gt;
      // console.dir(this.$refs.userText);&lt;br /&gt;
    },&lt;br /&gt;
  },&lt;br /&gt;
  beforeCreate() {&lt;br /&gt;
    console.log(&amp;#039;beforeCreate()&amp;#039;);&lt;br /&gt;
  },&lt;br /&gt;
  created() {&lt;br /&gt;
    console.log(&amp;#039;created()&amp;#039;);&lt;br /&gt;
  },&lt;br /&gt;
  beforeMount() {&lt;br /&gt;
    console.log(&amp;#039;beforeMount()&amp;#039;);&lt;br /&gt;
  },&lt;br /&gt;
  mounted() {&lt;br /&gt;
    console.log(&amp;#039;mounted()&amp;#039;);&lt;br /&gt;
  },&lt;br /&gt;
  beforeUpdate() {&lt;br /&gt;
    console.log(&amp;#039;beforeUpdate()&amp;#039;);&lt;br /&gt;
  },&lt;br /&gt;
  updated() {&lt;br /&gt;
    console.log(&amp;#039;updated()&amp;#039;);&lt;br /&gt;
  },&lt;br /&gt;
  beforeUnmount() {&lt;br /&gt;
    console.log(&amp;#039;beforeUnmount()&amp;#039;);&lt;br /&gt;
  },&lt;br /&gt;
  unmounted() {&lt;br /&gt;
    console.log(&amp;#039;unmounted()&amp;#039;);&lt;br /&gt;
  },&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25169</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25169"/>
		<updated>2021-01-11T16:21:44Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; [[Vue.js]]&lt;br /&gt;
 [[Vue - Snippets]]&lt;br /&gt;
&lt;br /&gt;
Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== Dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;br /&gt;
&lt;br /&gt;
In Kombination mit &amp;lt;router-link&amp;gt; und einem v-bind für das to Argument kann man so auch eine passende Navigation erzeugen:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Ein Problem mit &amp;lt;router-link&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wenn du auf einen dynamischen Link gewechselt hast z.B. auf&lt;br /&gt;
 myDomain.de/teams/t3&lt;br /&gt;
und von dort über einen Link&lt;br /&gt;
 &amp;lt;router-link to=&amp;quot;/teams/t2&amp;quot;&amp;gt;Klick mich&amp;lt;/router-link&amp;gt; &lt;br /&gt;
wechseln möchtest funktioniert dies hier nicht. Das liegt daran, dass wir den Parameter /t2 bzw. teamId im created() Hook verarbeiten. Dieser wird aber nur beim ersten mal wenn die Komponente erstellt wird aufgerufen. Da wir schon in der Komponente sind passiert das nicht erneut und der View wird nicht aktualisiert. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung: Ein watcher&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Zwar wird created() nicht aufgerufen aber das $route Objekt ändert sich sehr wohl. Daher können wir einfach einen Watcher einsetzen, der bei Änderungen des router Objekts anspricht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 watch: {&lt;br /&gt;
    $route(newRoute){&lt;br /&gt;
      this.loadTeamMembers(newRoute);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich bauen wir eine Funktion loadTeamMembers() die wir in methods unterbringen, damit wir den Code nicht mehrmals verwenden müssen (siehe finaler Code unten). Im Watcher können wir die Funktion einfach aufrufen wen das $route Objekt sich ändert.&lt;br /&gt;
&lt;br /&gt;
==== route Parameter als prop ====&lt;br /&gt;
&lt;br /&gt;
Der Ansatz oben hat einen Nachteil: Bisher wird die &amp;#039;&amp;#039;&amp;#039;Komponente nur über einen Aufruf einer bestimmten URL gerendert&amp;#039;&amp;#039;&amp;#039;. Wenn sie als Teil einer Parent-Komponente gerendert wird funktioniert das nicht. Hier wäre es &amp;#039;&amp;#039;&amp;#039;schöner eine Property nutzen zu können&amp;#039;&amp;#039;&amp;#039;. Statt über this.§route könnten wir dann über this.teamId darauf zugreifen.&lt;br /&gt;
&lt;br /&gt;
Das ist einfach möglich indem wir in der route Definition den Parameter props: true hinzufügen. &lt;br /&gt;
 props: true&lt;br /&gt;
Er sorgt dafür, dass das Pfad-Segement in den props der Komponente zur Verfügung steht:&lt;br /&gt;
 props: [&amp;#039;teamId&amp;#039;],&lt;br /&gt;
Auf diese Weise wird die Component vielseitiger einsetzbar und wird etwas einfacher.&lt;br /&gt;
=== redirect, alias ===&lt;br /&gt;
In der Router Konfiguration kann man auch Redirects einsetzen. Zum Beispiel um die Rootseite, die im Moment leer ist (bis auf die Navigation), auf die Teams-Liste zu leiten:&lt;br /&gt;
 { path: &amp;#039;/&amp;#039;, redirect: &amp;#039;/teams&amp;#039;},&lt;br /&gt;
Dies sollte vor der redirect definition stehen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man in der TeamsList Component die Route Seite als Alias. Hierbei bleibt die URL die Selbe aber der Inhalt der Teamsliste wird angezeigt:&lt;br /&gt;
 { path: &amp;#039;/teams&amp;#039;, component: TeamsList, alias: &amp;#039;/&amp;#039; },&lt;br /&gt;
&lt;br /&gt;
=== catch all ===&lt;br /&gt;
Zu guter Letzt möchten wir alle urls abfangen die nicht gehandelt sind. Das kann man mit einem catch all machen. Vue aktzeptiert in der Router Konfiguration auch dynamische Parameter mit Regex Ausdrücken. Daher können wir schreiben&lt;br /&gt;
 { path: &amp;#039;/:notFound(.*)&amp;#039;, component: NotFound}, //.* is regex for any characters&lt;br /&gt;
 //{ path: &amp;#039;/:notFound(.*)&amp;#039;, redirect: &amp;#039;/teams&amp;#039;}, // redirect would be possible too&lt;br /&gt;
&lt;br /&gt;
Das notFound kann auch einen anderen Namen bekommen. Wichtig ist dass wir hier eine Funktion an das path Objekt übergeben an die wir einen regulären Ausdruck übergeben. Diese Route sollte ganz am Ende stehen sonst würde sie die nachfolgenden Überschreiben.&lt;br /&gt;
&lt;br /&gt;
=== Nested Routes ===&lt;br /&gt;
Bisher haben wir /teams und /teams/[teamsId] als separate Routen definiert. Man kann aber die id Route auch als Kind der teams Route definieren. Das hat ein paar Vorteile.&lt;br /&gt;
* Der Router erkennt die Route als Kind und kann allen Parents eine Klasse und dem Kind eine extra Klasse vergeben.&lt;br /&gt;
* Man kann in der Parent Komponent die Kindkomponente als zusätzlichen Content anzeigen. sprich die Members werden zusätzlich in der Teams Liste angezeigt (dazu muss ein zusätzliches &amp;lt;router-view&amp;gt; in die Liste eingefügt werden, damit Vue weiß an welcher Stelle).&lt;br /&gt;
&lt;br /&gt;
So gehts:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
] },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Named Routes ===&lt;br /&gt;
Zusätzlich kann man Routes auch ein name property geben. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ name: &amp;#039;teams&amp;#039;, path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { name: &amp;#039;team-members&amp;#039;, path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann kann man Links auch damit aufrufen. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;router-link :to=&amp;quot;memberPath&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
computed: {&lt;br /&gt;
    memberPath(){&lt;br /&gt;
      //return &amp;#039;/teams/&amp;#039; + this.id;&lt;br /&gt;
      return {&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In diesem Beispiel wird noch das params Argument benötigt, da wir in der Komponente die teamId übergeben müssen. Wir haben jetzt etwas mehr Code aber wir können den Code besser Warten. Wenn sich das Segment &amp;quot;teams&amp;quot; ändert müssen wir das nur noch in der Route Konfiguration machen. Das kann bei größeren Apps eine Überlegung wert sein.&lt;br /&gt;
&lt;br /&gt;
=== URL Query Parameters ===&lt;br /&gt;
Auch GET artige Parameter kann man erzeugen (obwohl das eigentlich keine GET Parameter sind, da wir ja keine GET Anfrage an den Server schicken. Aber man kann Parameter an die URL hängen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
      return {&lt;br /&gt;
        //name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, &lt;br /&gt;
        params: { teamId: this.id },&lt;br /&gt;
        query: {sort: &amp;#039;asc&amp;#039;}&lt;br /&gt;
      }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Und sie in einer Komponente wieder auswerten:&lt;br /&gt;
 console.log(this.$route.query);&lt;br /&gt;
&lt;br /&gt;
== Multiple Routes ==&lt;br /&gt;
Man kann in einer Komponente mehrere &amp;lt;router-view&amp;gt; Tags mit jeweils einer eigenen Komponente nutzen. Dazu muss man&lt;br /&gt;
* Namen für die router-views vergeben also z.b. in App.vue zusätzlich den router-view&lt;br /&gt;
 &amp;lt;router-view name=&amp;quot;footer&amp;quot;&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
* in der Router Konfiguration statt dem component, das components (mitn s) Objekt ersetzen und die Komponentennamen definieren. Dabei übergibt man ein Objekt mit den Namen und den Views bzw. Komponenten&lt;br /&gt;
 components:{ default: TeamsList, footer: TeamsFooter},&lt;br /&gt;
&lt;br /&gt;
== Controlling Scrolling Behaviour - scrollBehaviour ==&lt;br /&gt;
Es gibt ein weiteres Objekt für die Konfiguration des Routers. Das scrollBehaviour Objekt. Es ist kein Kindobjekt von routes sondern ein eigenständiges Objekt wie z.b. history. scrollBehaviour eine Funktion die automatisch 3 Argumente bekommt nämlich auf welcher Seite der User gelandet ist, wo er her kam und an welcher Stelle er zuletzt gescrollt hat. Als Rückgabewert gibt man ein Objekt zurück das angibt wohin man scrollen möchte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
scrollBehavior(to, from, savedPosition){&lt;br /&gt;
        // to is where we navigate to (route object),&lt;br /&gt;
        // from page where we came from&lt;br /&gt;
        // savePosition stores our last page offset&lt;br /&gt;
        // this function should return where to scroll &lt;br /&gt;
       &lt;br /&gt;
        // console.log(to, from, savedPosition)&lt;br /&gt;
        &lt;br /&gt;
        if (savedPosition){&lt;br /&gt;
                return savedPosition;&lt;br /&gt;
        }else{&lt;br /&gt;
            return {left: 0, top: 0}&lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Navigation Guard ==&lt;br /&gt;
Navigation Guards sind im Prinzip Hooks, die getriggert werden wenn eine Navigation stattfindet.&lt;br /&gt;
=== beforeEach ===&lt;br /&gt;
Es gibt den Navigation Guard in Form der Funktion &amp;#039;&amp;#039;&amp;#039;beforeEach&amp;#039;&amp;#039;&amp;#039;. Das ist im Prinzip ein Hook. Dieser wird getriggert sobald eine Navigation stattfindet (die Seite sich ändert) und ermöglicht es in die Ausführung einzugreifen. Dies kann man z.B für &amp;#039;&amp;#039;&amp;#039;Authentication&amp;#039;&amp;#039;&amp;#039; nutzen, oder um &amp;#039;&amp;#039;&amp;#039;Änderungen zu tracken&amp;#039;&amp;#039;&amp;#039;, oder um zu verhindern, dass ein Benutzer die &amp;#039;&amp;#039;&amp;#039;Seite ausversehen wechselt&amp;#039;&amp;#039;&amp;#039; bevor er gespeichert hat.&lt;br /&gt;
&lt;br /&gt;
Die Guard Funktion wird aufgerufen sobald eine Navigation stattfindet (Link klicken oder Seite manuell laden) Übergeben werden neben den to und from Argumenten noch ein next argument (Namen sind frei wählbar, Reihenfolge ist wichtig).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// Navigationm Guard&lt;br /&gt;
router.beforeEach(function(to, from, next) {&lt;br /&gt;
    console.log(&amp;quot;Global beforeEach...&amp;quot;);&lt;br /&gt;
    console.log(to, from);&lt;br /&gt;
    next(); // means  true will allow navigation, false will cancel&lt;br /&gt;
    //next(false);&lt;br /&gt;
    //next(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
    //next({ name: &amp;#039;team-members&amp;#039;, params: { teamId: &amp;#039;t2&amp;#039;} })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
next entscheidet, ob die Navigation ausgeführt wird oder nicht. Next enthält true, false oder ein Ziel in Form eines Strings oder Route Objekts. Default ist true wenn kein Parameter angegeben ist.&lt;br /&gt;
&lt;br /&gt;
=== afterEach() ===&lt;br /&gt;
Es gibt auch einen Hook, der nach der Navigation ausgeführt wird. Den afterEach() Navigation Guard:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
router.afterEach(function(zu,von){&lt;br /&gt;
    console.log(&amp;#039;Global afterEach hook&amp;#039;);&lt;br /&gt;
    console.log(zu, von);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Da er nach der Navigation ausgeführt wird benötigt er kein next Argument. Er eignet sich z.b. um Analytics Infos oder Protokolldaten an den Server zu senden.&lt;br /&gt;
&lt;br /&gt;
=== Globale und lokale Navigation Guards ===&lt;br /&gt;
die Funktion beforeEnter kann man auf der router Ebene oder auf der Ebene der einzelnen routes einsetzen. Je nachdem wird sie nur aufgerufen wenn die Route gerendert wird, oder wenn global bei jeder Änderung der Seite (auch beim ersten Aufruf)&lt;br /&gt;
&lt;br /&gt;
Zusätzlich kannst Du lokale Guards auch in einer Komponente definieren. Dann schreibst du &lt;br /&gt;
&lt;br /&gt;
Für Komponenten die z.B. über ein for Schleife wiederverwendet werden gibt es noch den&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;beforeRouteUpdate&amp;#039;&amp;#039;&amp;#039; Hook.&lt;br /&gt;
&lt;br /&gt;
=== beforeRouteLeave ===&lt;br /&gt;
Der beforeRouteLeave Guard ist z.B. nützlich wenn Du verhindern möchtest, dass ein Benutzer &amp;#039;&amp;#039;&amp;#039;die Seite versehentlich verläßt&amp;#039;&amp;#039;&amp;#039;. Er wird vor allen anderen Guards getriggert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
beforeRouteLeave(to, from, next){&lt;br /&gt;
  console.log(&amp;quot;beforeRouteLeave in UsersList.vue: &amp;quot;);&lt;br /&gt;
  console.log(to, from);&lt;br /&gt;
  if (this.changesSaved) {&lt;br /&gt;
    next();&lt;br /&gt;
  }else{&lt;br /&gt;
    const userWantsToLeave = confirm(&amp;#039;Are you sure you want to quit without saving?&amp;#039;);&lt;br /&gt;
    next(userWantsToLeave);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Meta ==&lt;br /&gt;
Im meta Objekt kann man den einzelenen routes weitere Eigenschaften mitgeben. Das ist oft nützlich im Zusammenhang mit Guards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 meta: { needsAuth: true },&lt;br /&gt;
 //...&lt;br /&gt;
router.beforeEach(function(to, from, next) {&lt;br /&gt;
  if (to.meta.meedsAuth) {&lt;br /&gt;
    console.log(&amp;quot;Needs Auth!&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
//...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datei Organisation ==&lt;br /&gt;
Bei größeren Projekten kann es sinnvoll sein alle Components die man über Router ansteuert in einen&lt;br /&gt;
 /pages&lt;br /&gt;
Ordner zu packen, so dass man sie leicht findet.&lt;br /&gt;
&lt;br /&gt;
Außerdam kann die main.js sehr groß werden, deshalb kann es sinnvoll sein eine eigene Datei router.js für die Router Zeilen zu nutzen. Dort kannst du dann per export alles exportieren und wieder in main.js importieren:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// main.js&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
&lt;br /&gt;
import router from &amp;#039;./router.js&amp;#039;;&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
router.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
//...&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({//...});&lt;br /&gt;
//...&lt;br /&gt;
export default router; // export stuff so that we can import it in main.js&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25168</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25168"/>
		<updated>2021-01-09T02:26:42Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Meta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== Dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;br /&gt;
&lt;br /&gt;
In Kombination mit &amp;lt;router-link&amp;gt; und einem v-bind für das to Argument kann man so auch eine passende Navigation erzeugen:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Ein Problem mit &amp;lt;router-link&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wenn du auf einen dynamischen Link gewechselt hast z.B. auf&lt;br /&gt;
 myDomain.de/teams/t3&lt;br /&gt;
und von dort über einen Link&lt;br /&gt;
 &amp;lt;router-link to=&amp;quot;/teams/t2&amp;quot;&amp;gt;Klick mich&amp;lt;/router-link&amp;gt; &lt;br /&gt;
wechseln möchtest funktioniert dies hier nicht. Das liegt daran, dass wir den Parameter /t2 bzw. teamId im created() Hook verarbeiten. Dieser wird aber nur beim ersten mal wenn die Komponente erstellt wird aufgerufen. Da wir schon in der Komponente sind passiert das nicht erneut und der View wird nicht aktualisiert. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung: Ein watcher&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Zwar wird created() nicht aufgerufen aber das $route Objekt ändert sich sehr wohl. Daher können wir einfach einen Watcher einsetzen, der bei Änderungen des router Objekts anspricht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 watch: {&lt;br /&gt;
    $route(newRoute){&lt;br /&gt;
      this.loadTeamMembers(newRoute);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich bauen wir eine Funktion loadTeamMembers() die wir in methods unterbringen, damit wir den Code nicht mehrmals verwenden müssen (siehe finaler Code unten). Im Watcher können wir die Funktion einfach aufrufen wen das $route Objekt sich ändert.&lt;br /&gt;
&lt;br /&gt;
==== route Parameter als prop ====&lt;br /&gt;
&lt;br /&gt;
Der Ansatz oben hat einen Nachteil: Bisher wird die &amp;#039;&amp;#039;&amp;#039;Komponente nur über einen Aufruf einer bestimmten URL gerendert&amp;#039;&amp;#039;&amp;#039;. Wenn sie als Teil einer Parent-Komponente gerendert wird funktioniert das nicht. Hier wäre es &amp;#039;&amp;#039;&amp;#039;schöner eine Property nutzen zu können&amp;#039;&amp;#039;&amp;#039;. Statt über this.§route könnten wir dann über this.teamId darauf zugreifen.&lt;br /&gt;
&lt;br /&gt;
Das ist einfach möglich indem wir in der route Definition den Parameter props: true hinzufügen. &lt;br /&gt;
 props: true&lt;br /&gt;
Er sorgt dafür, dass das Pfad-Segement in den props der Komponente zur Verfügung steht:&lt;br /&gt;
 props: [&amp;#039;teamId&amp;#039;],&lt;br /&gt;
Auf diese Weise wird die Component vielseitiger einsetzbar und wird etwas einfacher.&lt;br /&gt;
=== redirect, alias ===&lt;br /&gt;
In der Router Konfiguration kann man auch Redirects einsetzen. Zum Beispiel um die Rootseite, die im Moment leer ist (bis auf die Navigation), auf die Teams-Liste zu leiten:&lt;br /&gt;
 { path: &amp;#039;/&amp;#039;, redirect: &amp;#039;/teams&amp;#039;},&lt;br /&gt;
Dies sollte vor der redirect definition stehen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man in der TeamsList Component die Route Seite als Alias. Hierbei bleibt die URL die Selbe aber der Inhalt der Teamsliste wird angezeigt:&lt;br /&gt;
 { path: &amp;#039;/teams&amp;#039;, component: TeamsList, alias: &amp;#039;/&amp;#039; },&lt;br /&gt;
&lt;br /&gt;
=== catch all ===&lt;br /&gt;
Zu guter Letzt möchten wir alle urls abfangen die nicht gehandelt sind. Das kann man mit einem catch all machen. Vue aktzeptiert in der Router Konfiguration auch dynamische Parameter mit Regex Ausdrücken. Daher können wir schreiben&lt;br /&gt;
 { path: &amp;#039;/:notFound(.*)&amp;#039;, component: NotFound}, //.* is regex for any characters&lt;br /&gt;
 //{ path: &amp;#039;/:notFound(.*)&amp;#039;, redirect: &amp;#039;/teams&amp;#039;}, // redirect would be possible too&lt;br /&gt;
&lt;br /&gt;
Das notFound kann auch einen anderen Namen bekommen. Wichtig ist dass wir hier eine Funktion an das path Objekt übergeben an die wir einen regulären Ausdruck übergeben. Diese Route sollte ganz am Ende stehen sonst würde sie die nachfolgenden Überschreiben.&lt;br /&gt;
&lt;br /&gt;
=== Nested Routes ===&lt;br /&gt;
Bisher haben wir /teams und /teams/[teamsId] als separate Routen definiert. Man kann aber die id Route auch als Kind der teams Route definieren. Das hat ein paar Vorteile.&lt;br /&gt;
* Der Router erkennt die Route als Kind und kann allen Parents eine Klasse und dem Kind eine extra Klasse vergeben.&lt;br /&gt;
* Man kann in der Parent Komponent die Kindkomponente als zusätzlichen Content anzeigen. sprich die Members werden zusätzlich in der Teams Liste angezeigt (dazu muss ein zusätzliches &amp;lt;router-view&amp;gt; in die Liste eingefügt werden, damit Vue weiß an welcher Stelle).&lt;br /&gt;
&lt;br /&gt;
So gehts:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
] },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Named Routes ===&lt;br /&gt;
Zusätzlich kann man Routes auch ein name property geben. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ name: &amp;#039;teams&amp;#039;, path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { name: &amp;#039;team-members&amp;#039;, path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann kann man Links auch damit aufrufen. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;router-link :to=&amp;quot;memberPath&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
computed: {&lt;br /&gt;
    memberPath(){&lt;br /&gt;
      //return &amp;#039;/teams/&amp;#039; + this.id;&lt;br /&gt;
      return {&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In diesem Beispiel wird noch das params Argument benötigt, da wir in der Komponente die teamId übergeben müssen. Wir haben jetzt etwas mehr Code aber wir können den Code besser Warten. Wenn sich das Segment &amp;quot;teams&amp;quot; ändert müssen wir das nur noch in der Route Konfiguration machen. Das kann bei größeren Apps eine Überlegung wert sein.&lt;br /&gt;
&lt;br /&gt;
=== URL Query Parameters ===&lt;br /&gt;
Auch GET artige Parameter kann man erzeugen (obwohl das eigentlich keine GET Parameter sind, da wir ja keine GET Anfrage an den Server schicken. Aber man kann Parameter an die URL hängen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
      return {&lt;br /&gt;
        //name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, &lt;br /&gt;
        params: { teamId: this.id },&lt;br /&gt;
        query: {sort: &amp;#039;asc&amp;#039;}&lt;br /&gt;
      }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Und sie in einer Komponente wieder auswerten:&lt;br /&gt;
 console.log(this.$route.query);&lt;br /&gt;
&lt;br /&gt;
== Multiple Routes ==&lt;br /&gt;
Man kann in einer Komponente mehrere &amp;lt;router-view&amp;gt; Tags mit jeweils einer eigenen Komponente nutzen. Dazu muss man&lt;br /&gt;
* Namen für die router-views vergeben also z.b. in App.vue zusätzlich den router-view&lt;br /&gt;
 &amp;lt;router-view name=&amp;quot;footer&amp;quot;&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
* in der Router Konfiguration statt dem component, das components (mitn s) Objekt ersetzen und die Komponentennamen definieren. Dabei übergibt man ein Objekt mit den Namen und den Views bzw. Komponenten&lt;br /&gt;
 components:{ default: TeamsList, footer: TeamsFooter},&lt;br /&gt;
&lt;br /&gt;
== Controlling Scrolling Behaviour - scrollBehaviour ==&lt;br /&gt;
Es gibt ein weiteres Objekt für die Konfiguration des Routers. Das scrollBehaviour Objekt. Es ist kein Kindobjekt von routes sondern ein eigenständiges Objekt wie z.b. history. scrollBehaviour eine Funktion die automatisch 3 Argumente bekommt nämlich auf welcher Seite der User gelandet ist, wo er her kam und an welcher Stelle er zuletzt gescrollt hat. Als Rückgabewert gibt man ein Objekt zurück das angibt wohin man scrollen möchte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
scrollBehavior(to, from, savedPosition){&lt;br /&gt;
        // to is where we navigate to (route object),&lt;br /&gt;
        // from page where we came from&lt;br /&gt;
        // savePosition stores our last page offset&lt;br /&gt;
        // this function should return where to scroll &lt;br /&gt;
       &lt;br /&gt;
        // console.log(to, from, savedPosition)&lt;br /&gt;
        &lt;br /&gt;
        if (savedPosition){&lt;br /&gt;
                return savedPosition;&lt;br /&gt;
        }else{&lt;br /&gt;
            return {left: 0, top: 0}&lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Navigation Guard ==&lt;br /&gt;
Navigation Guards sind im Prinzip Hooks, die getriggert werden wenn eine Navigation stattfindet.&lt;br /&gt;
=== beforeEach ===&lt;br /&gt;
Es gibt den Navigation Guard in Form der Funktion &amp;#039;&amp;#039;&amp;#039;beforeEach&amp;#039;&amp;#039;&amp;#039;. Das ist im Prinzip ein Hook. Dieser wird getriggert sobald eine Navigation stattfindet (die Seite sich ändert) und ermöglicht es in die Ausführung einzugreifen. Dies kann man z.B für &amp;#039;&amp;#039;&amp;#039;Authentication&amp;#039;&amp;#039;&amp;#039; nutzen, oder um &amp;#039;&amp;#039;&amp;#039;Änderungen zu tracken&amp;#039;&amp;#039;&amp;#039;, oder um zu verhindern, dass ein Benutzer die &amp;#039;&amp;#039;&amp;#039;Seite ausversehen wechselt&amp;#039;&amp;#039;&amp;#039; bevor er gespeichert hat.&lt;br /&gt;
&lt;br /&gt;
Die Guard Funktion wird aufgerufen sobald eine Navigation stattfindet (Link klicken oder Seite manuell laden) Übergeben werden neben den to und from Argumenten noch ein next argument (Namen sind frei wählbar, Reihenfolge ist wichtig).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// Navigationm Guard&lt;br /&gt;
router.beforeEach(function(to, from, next) {&lt;br /&gt;
    console.log(&amp;quot;Global beforeEach...&amp;quot;);&lt;br /&gt;
    console.log(to, from);&lt;br /&gt;
    next(); // means  true will allow navigation, false will cancel&lt;br /&gt;
    //next(false);&lt;br /&gt;
    //next(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
    //next({ name: &amp;#039;team-members&amp;#039;, params: { teamId: &amp;#039;t2&amp;#039;} })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
next entscheidet, ob die Navigation ausgeführt wird oder nicht. Next enthält true, false oder ein Ziel in Form eines Strings oder Route Objekts. Default ist true wenn kein Parameter angegeben ist.&lt;br /&gt;
&lt;br /&gt;
=== afterEach() ===&lt;br /&gt;
Es gibt auch einen Hook, der nach der Navigation ausgeführt wird. Den afterEach() Navigation Guard:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
router.afterEach(function(zu,von){&lt;br /&gt;
    console.log(&amp;#039;Global afterEach hook&amp;#039;);&lt;br /&gt;
    console.log(zu, von);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Da er nach der Navigation ausgeführt wird benötigt er kein next Argument. Er eignet sich z.b. um Analytics Infos oder Protokolldaten an den Server zu senden.&lt;br /&gt;
&lt;br /&gt;
=== Globale und lokale Navigation Guards ===&lt;br /&gt;
die Funktion beforeEnter kann man auf der router Ebene oder auf der Ebene der einzelnen routes einsetzen. Je nachdem wird sie nur aufgerufen wenn die Route gerendert wird, oder wenn global bei jeder Änderung der Seite (auch beim ersten Aufruf)&lt;br /&gt;
&lt;br /&gt;
Zusätzlich kannst Du lokale Guards auch in einer Komponente definieren. Dann schreibst du &lt;br /&gt;
&lt;br /&gt;
Für Komponenten die z.B. über ein for Schleife wiederverwendet werden gibt es noch den&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;beforeRouteUpdate&amp;#039;&amp;#039;&amp;#039; Hook.&lt;br /&gt;
&lt;br /&gt;
=== beforeRouteLeave ===&lt;br /&gt;
Der beforeRouteLeave Guard ist z.B. nützlich wenn Du verhindern möchtest, dass ein Benutzer &amp;#039;&amp;#039;&amp;#039;die Seite versehentlich verläßt&amp;#039;&amp;#039;&amp;#039;. Er wird vor allen anderen Guards getriggert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
beforeRouteLeave(to, from, next){&lt;br /&gt;
  console.log(&amp;quot;beforeRouteLeave in UsersList.vue: &amp;quot;);&lt;br /&gt;
  console.log(to, from);&lt;br /&gt;
  if (this.changesSaved) {&lt;br /&gt;
    next();&lt;br /&gt;
  }else{&lt;br /&gt;
    const userWantsToLeave = confirm(&amp;#039;Are you sure you want to quit without saving?&amp;#039;);&lt;br /&gt;
    next(userWantsToLeave);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Meta ==&lt;br /&gt;
Im meta Objekt kann man den einzelenen routes weitere Eigenschaften mitgeben. Das ist oft nützlich im Zusammenhang mit Guards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 meta: { needsAuth: true },&lt;br /&gt;
 //...&lt;br /&gt;
router.beforeEach(function(to, from, next) {&lt;br /&gt;
  if (to.meta.meedsAuth) {&lt;br /&gt;
    console.log(&amp;quot;Needs Auth!&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
//...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datei Organisation ==&lt;br /&gt;
Bei größeren Projekten kann es sinnvoll sein alle Components die man über Router ansteuert in einen&lt;br /&gt;
 /pages&lt;br /&gt;
Ordner zu packen, so dass man sie leicht findet.&lt;br /&gt;
&lt;br /&gt;
Außerdam kann die main.js sehr groß werden, deshalb kann es sinnvoll sein eine eigene Datei router.js für die Router Zeilen zu nutzen. Dort kannst du dann per export alles exportieren und wieder in main.js importieren:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// main.js&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
&lt;br /&gt;
import router from &amp;#039;./router.js&amp;#039;;&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
router.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
//...&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({//...});&lt;br /&gt;
//...&lt;br /&gt;
export default router; // export stuff so that we can import it in main.js&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25167</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25167"/>
		<updated>2021-01-09T02:09:33Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Navigation Guard - beforeEnter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== Dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;br /&gt;
&lt;br /&gt;
In Kombination mit &amp;lt;router-link&amp;gt; und einem v-bind für das to Argument kann man so auch eine passende Navigation erzeugen:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Ein Problem mit &amp;lt;router-link&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wenn du auf einen dynamischen Link gewechselt hast z.B. auf&lt;br /&gt;
 myDomain.de/teams/t3&lt;br /&gt;
und von dort über einen Link&lt;br /&gt;
 &amp;lt;router-link to=&amp;quot;/teams/t2&amp;quot;&amp;gt;Klick mich&amp;lt;/router-link&amp;gt; &lt;br /&gt;
wechseln möchtest funktioniert dies hier nicht. Das liegt daran, dass wir den Parameter /t2 bzw. teamId im created() Hook verarbeiten. Dieser wird aber nur beim ersten mal wenn die Komponente erstellt wird aufgerufen. Da wir schon in der Komponente sind passiert das nicht erneut und der View wird nicht aktualisiert. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung: Ein watcher&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Zwar wird created() nicht aufgerufen aber das $route Objekt ändert sich sehr wohl. Daher können wir einfach einen Watcher einsetzen, der bei Änderungen des router Objekts anspricht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 watch: {&lt;br /&gt;
    $route(newRoute){&lt;br /&gt;
      this.loadTeamMembers(newRoute);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich bauen wir eine Funktion loadTeamMembers() die wir in methods unterbringen, damit wir den Code nicht mehrmals verwenden müssen (siehe finaler Code unten). Im Watcher können wir die Funktion einfach aufrufen wen das $route Objekt sich ändert.&lt;br /&gt;
&lt;br /&gt;
==== route Parameter als prop ====&lt;br /&gt;
&lt;br /&gt;
Der Ansatz oben hat einen Nachteil: Bisher wird die &amp;#039;&amp;#039;&amp;#039;Komponente nur über einen Aufruf einer bestimmten URL gerendert&amp;#039;&amp;#039;&amp;#039;. Wenn sie als Teil einer Parent-Komponente gerendert wird funktioniert das nicht. Hier wäre es &amp;#039;&amp;#039;&amp;#039;schöner eine Property nutzen zu können&amp;#039;&amp;#039;&amp;#039;. Statt über this.§route könnten wir dann über this.teamId darauf zugreifen.&lt;br /&gt;
&lt;br /&gt;
Das ist einfach möglich indem wir in der route Definition den Parameter props: true hinzufügen. &lt;br /&gt;
 props: true&lt;br /&gt;
Er sorgt dafür, dass das Pfad-Segement in den props der Komponente zur Verfügung steht:&lt;br /&gt;
 props: [&amp;#039;teamId&amp;#039;],&lt;br /&gt;
Auf diese Weise wird die Component vielseitiger einsetzbar und wird etwas einfacher.&lt;br /&gt;
=== redirect, alias ===&lt;br /&gt;
In der Router Konfiguration kann man auch Redirects einsetzen. Zum Beispiel um die Rootseite, die im Moment leer ist (bis auf die Navigation), auf die Teams-Liste zu leiten:&lt;br /&gt;
 { path: &amp;#039;/&amp;#039;, redirect: &amp;#039;/teams&amp;#039;},&lt;br /&gt;
Dies sollte vor der redirect definition stehen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man in der TeamsList Component die Route Seite als Alias. Hierbei bleibt die URL die Selbe aber der Inhalt der Teamsliste wird angezeigt:&lt;br /&gt;
 { path: &amp;#039;/teams&amp;#039;, component: TeamsList, alias: &amp;#039;/&amp;#039; },&lt;br /&gt;
&lt;br /&gt;
=== catch all ===&lt;br /&gt;
Zu guter Letzt möchten wir alle urls abfangen die nicht gehandelt sind. Das kann man mit einem catch all machen. Vue aktzeptiert in der Router Konfiguration auch dynamische Parameter mit Regex Ausdrücken. Daher können wir schreiben&lt;br /&gt;
 { path: &amp;#039;/:notFound(.*)&amp;#039;, component: NotFound}, //.* is regex for any characters&lt;br /&gt;
 //{ path: &amp;#039;/:notFound(.*)&amp;#039;, redirect: &amp;#039;/teams&amp;#039;}, // redirect would be possible too&lt;br /&gt;
&lt;br /&gt;
Das notFound kann auch einen anderen Namen bekommen. Wichtig ist dass wir hier eine Funktion an das path Objekt übergeben an die wir einen regulären Ausdruck übergeben. Diese Route sollte ganz am Ende stehen sonst würde sie die nachfolgenden Überschreiben.&lt;br /&gt;
&lt;br /&gt;
=== Nested Routes ===&lt;br /&gt;
Bisher haben wir /teams und /teams/[teamsId] als separate Routen definiert. Man kann aber die id Route auch als Kind der teams Route definieren. Das hat ein paar Vorteile.&lt;br /&gt;
* Der Router erkennt die Route als Kind und kann allen Parents eine Klasse und dem Kind eine extra Klasse vergeben.&lt;br /&gt;
* Man kann in der Parent Komponent die Kindkomponente als zusätzlichen Content anzeigen. sprich die Members werden zusätzlich in der Teams Liste angezeigt (dazu muss ein zusätzliches &amp;lt;router-view&amp;gt; in die Liste eingefügt werden, damit Vue weiß an welcher Stelle).&lt;br /&gt;
&lt;br /&gt;
So gehts:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
] },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Named Routes ===&lt;br /&gt;
Zusätzlich kann man Routes auch ein name property geben. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ name: &amp;#039;teams&amp;#039;, path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { name: &amp;#039;team-members&amp;#039;, path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann kann man Links auch damit aufrufen. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;router-link :to=&amp;quot;memberPath&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
computed: {&lt;br /&gt;
    memberPath(){&lt;br /&gt;
      //return &amp;#039;/teams/&amp;#039; + this.id;&lt;br /&gt;
      return {&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In diesem Beispiel wird noch das params Argument benötigt, da wir in der Komponente die teamId übergeben müssen. Wir haben jetzt etwas mehr Code aber wir können den Code besser Warten. Wenn sich das Segment &amp;quot;teams&amp;quot; ändert müssen wir das nur noch in der Route Konfiguration machen. Das kann bei größeren Apps eine Überlegung wert sein.&lt;br /&gt;
&lt;br /&gt;
=== URL Query Parameters ===&lt;br /&gt;
Auch GET artige Parameter kann man erzeugen (obwohl das eigentlich keine GET Parameter sind, da wir ja keine GET Anfrage an den Server schicken. Aber man kann Parameter an die URL hängen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
      return {&lt;br /&gt;
        //name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, &lt;br /&gt;
        params: { teamId: this.id },&lt;br /&gt;
        query: {sort: &amp;#039;asc&amp;#039;}&lt;br /&gt;
      }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Und sie in einer Komponente wieder auswerten:&lt;br /&gt;
 console.log(this.$route.query);&lt;br /&gt;
&lt;br /&gt;
== Multiple Routes ==&lt;br /&gt;
Man kann in einer Komponente mehrere &amp;lt;router-view&amp;gt; Tags mit jeweils einer eigenen Komponente nutzen. Dazu muss man&lt;br /&gt;
* Namen für die router-views vergeben also z.b. in App.vue zusätzlich den router-view&lt;br /&gt;
 &amp;lt;router-view name=&amp;quot;footer&amp;quot;&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
* in der Router Konfiguration statt dem component, das components (mitn s) Objekt ersetzen und die Komponentennamen definieren. Dabei übergibt man ein Objekt mit den Namen und den Views bzw. Komponenten&lt;br /&gt;
 components:{ default: TeamsList, footer: TeamsFooter},&lt;br /&gt;
&lt;br /&gt;
== Controlling Scrolling Behaviour - scrollBehaviour ==&lt;br /&gt;
Es gibt ein weiteres Objekt für die Konfiguration des Routers. Das scrollBehaviour Objekt. Es ist kein Kindobjekt von routes sondern ein eigenständiges Objekt wie z.b. history. scrollBehaviour eine Funktion die automatisch 3 Argumente bekommt nämlich auf welcher Seite der User gelandet ist, wo er her kam und an welcher Stelle er zuletzt gescrollt hat. Als Rückgabewert gibt man ein Objekt zurück das angibt wohin man scrollen möchte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
scrollBehavior(to, from, savedPosition){&lt;br /&gt;
        // to is where we navigate to (route object),&lt;br /&gt;
        // from page where we came from&lt;br /&gt;
        // savePosition stores our last page offset&lt;br /&gt;
        // this function should return where to scroll &lt;br /&gt;
       &lt;br /&gt;
        // console.log(to, from, savedPosition)&lt;br /&gt;
        &lt;br /&gt;
        if (savedPosition){&lt;br /&gt;
                return savedPosition;&lt;br /&gt;
        }else{&lt;br /&gt;
            return {left: 0, top: 0}&lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Navigation Guard ==&lt;br /&gt;
Navigation Guards sind im Prinzip Hooks, die getriggert werden wenn eine Navigation stattfindet.&lt;br /&gt;
=== beforeEach ===&lt;br /&gt;
Es gibt den Navigation Guard in Form der Funktion &amp;#039;&amp;#039;&amp;#039;beforeEach&amp;#039;&amp;#039;&amp;#039;. Das ist im Prinzip ein Hook. Dieser wird getriggert sobald eine Navigation stattfindet (die Seite sich ändert) und ermöglicht es in die Ausführung einzugreifen. Dies kann man z.B für &amp;#039;&amp;#039;&amp;#039;Authentication&amp;#039;&amp;#039;&amp;#039; nutzen, oder um &amp;#039;&amp;#039;&amp;#039;Änderungen zu tracken&amp;#039;&amp;#039;&amp;#039;, oder um zu verhindern, dass ein Benutzer die &amp;#039;&amp;#039;&amp;#039;Seite ausversehen wechselt&amp;#039;&amp;#039;&amp;#039; bevor er gespeichert hat.&lt;br /&gt;
&lt;br /&gt;
Die Guard Funktion wird aufgerufen sobald eine Navigation stattfindet (Link klicken oder Seite manuell laden) Übergeben werden neben den to und from Argumenten noch ein next argument (Namen sind frei wählbar, Reihenfolge ist wichtig).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// Navigationm Guard&lt;br /&gt;
router.beforeEach(function(to, from, next) {&lt;br /&gt;
    console.log(&amp;quot;Global beforeEach...&amp;quot;);&lt;br /&gt;
    console.log(to, from);&lt;br /&gt;
    next(); // means  true will allow navigation, false will cancel&lt;br /&gt;
    //next(false);&lt;br /&gt;
    //next(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
    //next({ name: &amp;#039;team-members&amp;#039;, params: { teamId: &amp;#039;t2&amp;#039;} })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
next entscheidet, ob die Navigation ausgeführt wird oder nicht. Next enthält true, false oder ein Ziel in Form eines Strings oder Route Objekts. Default ist true wenn kein Parameter angegeben ist.&lt;br /&gt;
&lt;br /&gt;
=== afterEach() ===&lt;br /&gt;
Es gibt auch einen Hook, der nach der Navigation ausgeführt wird. Den afterEach() Navigation Guard:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
router.afterEach(function(zu,von){&lt;br /&gt;
    console.log(&amp;#039;Global afterEach hook&amp;#039;);&lt;br /&gt;
    console.log(zu, von);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Da er nach der Navigation ausgeführt wird benötigt er kein next Argument. Er eignet sich z.b. um Analytics Infos oder Protokolldaten an den Server zu senden.&lt;br /&gt;
&lt;br /&gt;
=== Globale und lokale Navigation Guards ===&lt;br /&gt;
die Funktion beforeEnter kann man auf der router Ebene oder auf der Ebene der einzelnen routes einsetzen. Je nachdem wird sie nur aufgerufen wenn die Route gerendert wird, oder wenn global bei jeder Änderung der Seite (auch beim ersten Aufruf)&lt;br /&gt;
&lt;br /&gt;
Zusätzlich kannst Du lokale Guards auch in einer Komponente definieren. Dann schreibst du &lt;br /&gt;
&lt;br /&gt;
Für Komponenten die z.B. über ein for Schleife wiederverwendet werden gibt es noch den&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;beforeRouteUpdate&amp;#039;&amp;#039;&amp;#039; Hook.&lt;br /&gt;
&lt;br /&gt;
=== beforeRouteLeave ===&lt;br /&gt;
Der beforeRouteLeave Guard ist z.B. nützlich wenn Du verhindern möchtest, dass ein Benutzer &amp;#039;&amp;#039;&amp;#039;die Seite versehentlich verläßt&amp;#039;&amp;#039;&amp;#039;. Er wird vor allen anderen Guards getriggert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
beforeRouteLeave(to, from, next){&lt;br /&gt;
  console.log(&amp;quot;beforeRouteLeave in UsersList.vue: &amp;quot;);&lt;br /&gt;
  console.log(to, from);&lt;br /&gt;
  if (this.changesSaved) {&lt;br /&gt;
    next();&lt;br /&gt;
  }else{&lt;br /&gt;
    const userWantsToLeave = confirm(&amp;#039;Are you sure you want to quit without saving?&amp;#039;);&lt;br /&gt;
    next(userWantsToLeave);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Meta ==&lt;br /&gt;
Im meta Objekt kann man den einzelenen routes weitere Eigenschaften mitgeben. Das ist oft nützlich im Zusammenhang mit Guards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 meta: { needsAuth: true },&lt;br /&gt;
 //...&lt;br /&gt;
router.beforeEach(function(to, from, next) {&lt;br /&gt;
  if (to.meta.meedsAuth) {&lt;br /&gt;
    console.log(&amp;quot;Needs Auth!&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
//...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25166</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25166"/>
		<updated>2021-01-09T02:01:39Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Navigation Guard - beforeEnter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== Dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;br /&gt;
&lt;br /&gt;
In Kombination mit &amp;lt;router-link&amp;gt; und einem v-bind für das to Argument kann man so auch eine passende Navigation erzeugen:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Ein Problem mit &amp;lt;router-link&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wenn du auf einen dynamischen Link gewechselt hast z.B. auf&lt;br /&gt;
 myDomain.de/teams/t3&lt;br /&gt;
und von dort über einen Link&lt;br /&gt;
 &amp;lt;router-link to=&amp;quot;/teams/t2&amp;quot;&amp;gt;Klick mich&amp;lt;/router-link&amp;gt; &lt;br /&gt;
wechseln möchtest funktioniert dies hier nicht. Das liegt daran, dass wir den Parameter /t2 bzw. teamId im created() Hook verarbeiten. Dieser wird aber nur beim ersten mal wenn die Komponente erstellt wird aufgerufen. Da wir schon in der Komponente sind passiert das nicht erneut und der View wird nicht aktualisiert. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung: Ein watcher&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Zwar wird created() nicht aufgerufen aber das $route Objekt ändert sich sehr wohl. Daher können wir einfach einen Watcher einsetzen, der bei Änderungen des router Objekts anspricht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 watch: {&lt;br /&gt;
    $route(newRoute){&lt;br /&gt;
      this.loadTeamMembers(newRoute);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich bauen wir eine Funktion loadTeamMembers() die wir in methods unterbringen, damit wir den Code nicht mehrmals verwenden müssen (siehe finaler Code unten). Im Watcher können wir die Funktion einfach aufrufen wen das $route Objekt sich ändert.&lt;br /&gt;
&lt;br /&gt;
==== route Parameter als prop ====&lt;br /&gt;
&lt;br /&gt;
Der Ansatz oben hat einen Nachteil: Bisher wird die &amp;#039;&amp;#039;&amp;#039;Komponente nur über einen Aufruf einer bestimmten URL gerendert&amp;#039;&amp;#039;&amp;#039;. Wenn sie als Teil einer Parent-Komponente gerendert wird funktioniert das nicht. Hier wäre es &amp;#039;&amp;#039;&amp;#039;schöner eine Property nutzen zu können&amp;#039;&amp;#039;&amp;#039;. Statt über this.§route könnten wir dann über this.teamId darauf zugreifen.&lt;br /&gt;
&lt;br /&gt;
Das ist einfach möglich indem wir in der route Definition den Parameter props: true hinzufügen. &lt;br /&gt;
 props: true&lt;br /&gt;
Er sorgt dafür, dass das Pfad-Segement in den props der Komponente zur Verfügung steht:&lt;br /&gt;
 props: [&amp;#039;teamId&amp;#039;],&lt;br /&gt;
Auf diese Weise wird die Component vielseitiger einsetzbar und wird etwas einfacher.&lt;br /&gt;
=== redirect, alias ===&lt;br /&gt;
In der Router Konfiguration kann man auch Redirects einsetzen. Zum Beispiel um die Rootseite, die im Moment leer ist (bis auf die Navigation), auf die Teams-Liste zu leiten:&lt;br /&gt;
 { path: &amp;#039;/&amp;#039;, redirect: &amp;#039;/teams&amp;#039;},&lt;br /&gt;
Dies sollte vor der redirect definition stehen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man in der TeamsList Component die Route Seite als Alias. Hierbei bleibt die URL die Selbe aber der Inhalt der Teamsliste wird angezeigt:&lt;br /&gt;
 { path: &amp;#039;/teams&amp;#039;, component: TeamsList, alias: &amp;#039;/&amp;#039; },&lt;br /&gt;
&lt;br /&gt;
=== catch all ===&lt;br /&gt;
Zu guter Letzt möchten wir alle urls abfangen die nicht gehandelt sind. Das kann man mit einem catch all machen. Vue aktzeptiert in der Router Konfiguration auch dynamische Parameter mit Regex Ausdrücken. Daher können wir schreiben&lt;br /&gt;
 { path: &amp;#039;/:notFound(.*)&amp;#039;, component: NotFound}, //.* is regex for any characters&lt;br /&gt;
 //{ path: &amp;#039;/:notFound(.*)&amp;#039;, redirect: &amp;#039;/teams&amp;#039;}, // redirect would be possible too&lt;br /&gt;
&lt;br /&gt;
Das notFound kann auch einen anderen Namen bekommen. Wichtig ist dass wir hier eine Funktion an das path Objekt übergeben an die wir einen regulären Ausdruck übergeben. Diese Route sollte ganz am Ende stehen sonst würde sie die nachfolgenden Überschreiben.&lt;br /&gt;
&lt;br /&gt;
=== Nested Routes ===&lt;br /&gt;
Bisher haben wir /teams und /teams/[teamsId] als separate Routen definiert. Man kann aber die id Route auch als Kind der teams Route definieren. Das hat ein paar Vorteile.&lt;br /&gt;
* Der Router erkennt die Route als Kind und kann allen Parents eine Klasse und dem Kind eine extra Klasse vergeben.&lt;br /&gt;
* Man kann in der Parent Komponent die Kindkomponente als zusätzlichen Content anzeigen. sprich die Members werden zusätzlich in der Teams Liste angezeigt (dazu muss ein zusätzliches &amp;lt;router-view&amp;gt; in die Liste eingefügt werden, damit Vue weiß an welcher Stelle).&lt;br /&gt;
&lt;br /&gt;
So gehts:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
] },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Named Routes ===&lt;br /&gt;
Zusätzlich kann man Routes auch ein name property geben. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ name: &amp;#039;teams&amp;#039;, path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { name: &amp;#039;team-members&amp;#039;, path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann kann man Links auch damit aufrufen. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;router-link :to=&amp;quot;memberPath&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
computed: {&lt;br /&gt;
    memberPath(){&lt;br /&gt;
      //return &amp;#039;/teams/&amp;#039; + this.id;&lt;br /&gt;
      return {&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In diesem Beispiel wird noch das params Argument benötigt, da wir in der Komponente die teamId übergeben müssen. Wir haben jetzt etwas mehr Code aber wir können den Code besser Warten. Wenn sich das Segment &amp;quot;teams&amp;quot; ändert müssen wir das nur noch in der Route Konfiguration machen. Das kann bei größeren Apps eine Überlegung wert sein.&lt;br /&gt;
&lt;br /&gt;
=== URL Query Parameters ===&lt;br /&gt;
Auch GET artige Parameter kann man erzeugen (obwohl das eigentlich keine GET Parameter sind, da wir ja keine GET Anfrage an den Server schicken. Aber man kann Parameter an die URL hängen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
      return {&lt;br /&gt;
        //name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, &lt;br /&gt;
        params: { teamId: this.id },&lt;br /&gt;
        query: {sort: &amp;#039;asc&amp;#039;}&lt;br /&gt;
      }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Und sie in einer Komponente wieder auswerten:&lt;br /&gt;
 console.log(this.$route.query);&lt;br /&gt;
&lt;br /&gt;
== Multiple Routes ==&lt;br /&gt;
Man kann in einer Komponente mehrere &amp;lt;router-view&amp;gt; Tags mit jeweils einer eigenen Komponente nutzen. Dazu muss man&lt;br /&gt;
* Namen für die router-views vergeben also z.b. in App.vue zusätzlich den router-view&lt;br /&gt;
 &amp;lt;router-view name=&amp;quot;footer&amp;quot;&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
* in der Router Konfiguration statt dem component, das components (mitn s) Objekt ersetzen und die Komponentennamen definieren. Dabei übergibt man ein Objekt mit den Namen und den Views bzw. Komponenten&lt;br /&gt;
 components:{ default: TeamsList, footer: TeamsFooter},&lt;br /&gt;
&lt;br /&gt;
== Controlling Scrolling Behaviour - scrollBehaviour ==&lt;br /&gt;
Es gibt ein weiteres Objekt für die Konfiguration des Routers. Das scrollBehaviour Objekt. Es ist kein Kindobjekt von routes sondern ein eigenständiges Objekt wie z.b. history. scrollBehaviour eine Funktion die automatisch 3 Argumente bekommt nämlich auf welcher Seite der User gelandet ist, wo er her kam und an welcher Stelle er zuletzt gescrollt hat. Als Rückgabewert gibt man ein Objekt zurück das angibt wohin man scrollen möchte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
scrollBehavior(to, from, savedPosition){&lt;br /&gt;
        // to is where we navigate to (route object),&lt;br /&gt;
        // from page where we came from&lt;br /&gt;
        // savePosition stores our last page offset&lt;br /&gt;
        // this function should return where to scroll &lt;br /&gt;
       &lt;br /&gt;
        // console.log(to, from, savedPosition)&lt;br /&gt;
        &lt;br /&gt;
        if (savedPosition){&lt;br /&gt;
                return savedPosition;&lt;br /&gt;
        }else{&lt;br /&gt;
            return {left: 0, top: 0}&lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Navigation Guard - beforeEnter ==&lt;br /&gt;
Es gibt den Navigation Guard in Form der Funktion &amp;#039;&amp;#039;&amp;#039;beforeEnter&amp;#039;&amp;#039;&amp;#039;. Das ist im Prinzip ein Hook. Dieser wird getriggert sobald eine Navigation stattfindet (die Seite sich ändert) und ermöglicht es in die Ausführung einzugreifen. Dies kann man z.B für &amp;#039;&amp;#039;&amp;#039;Authentication&amp;#039;&amp;#039;&amp;#039; nutzen, oder um &amp;#039;&amp;#039;&amp;#039;Änderungen zu tracken&amp;#039;&amp;#039;&amp;#039;, oder um zu verhindern, dass ein Benutzer die &amp;#039;&amp;#039;&amp;#039;Seite ausversehen wechselt&amp;#039;&amp;#039;&amp;#039; bevor er gespeichert hat.&lt;br /&gt;
&lt;br /&gt;
Die Guard Funktion wird aufgerufen sobald eine Navigation stattfindet (Link klicken oder Seite manuell laden) Übergeben werden neben den to und from Argumenten noch ein next argument (Namen sind frei wählbar, Reihenfolge ist wichtig).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// Navigationm Guard&lt;br /&gt;
router.beforeEach(function(to, from, next) {&lt;br /&gt;
    console.log(&amp;quot;Global beforeEach...&amp;quot;);&lt;br /&gt;
    console.log(to, from);&lt;br /&gt;
    next(); // means  true will allow navigation, false will cancel&lt;br /&gt;
    //next(false);&lt;br /&gt;
    //next(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
    //next({ name: &amp;#039;team-members&amp;#039;, params: { teamId: &amp;#039;t2&amp;#039;} })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
next entscheidet, ob die Navigation ausgeführt wird oder nicht. Next enthält true, false oder ein Ziel in Form eines Strings oder Route Objekts. Default ist true wenn kein Parameter angegeben ist.&lt;br /&gt;
&lt;br /&gt;
=== afterEach() ===&lt;br /&gt;
Es gibt auch einen Hook, der nach der Navigation ausgeführt wird. Den afterEach() Navigation Guard:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
router.afterEach(function(zu,von){&lt;br /&gt;
    console.log(&amp;#039;Global afterEach hook&amp;#039;);&lt;br /&gt;
    console.log(zu, von);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Da er nach der Navigation ausgeführt wird benötigt er kein next Argument. Er eignet sich z.b. um Analytics Infos oder Protokolldaten an den Server zu senden.&lt;br /&gt;
=== Globale und lokale Navigation Guards ===&lt;br /&gt;
die Funktion beforeEnter kann man auf der router Ebene oder auf der Ebene der einzelnen routes einsetzen. Je nachdem wird sie nur aufgerufen wenn die Route gerendert wird, oder wenn global bei jeder Änderung der Seite (auch beim ersten Aufruf)&lt;br /&gt;
&lt;br /&gt;
Zusätzlich kannst Du lokale Guards auch in einer Komponente definieren. Dann schreibst du &lt;br /&gt;
&lt;br /&gt;
Für Komponenten die z.B. über ein for Schleife wiederverwendet werden gibt es noch den&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;beforeRouteUpdate&amp;#039;&amp;#039;&amp;#039; Hook.&lt;br /&gt;
&lt;br /&gt;
=== beforeRouteLeave ===&lt;br /&gt;
Der beforeRouteLeave Guard ist z.B. nützlich wenn Du verhindern möchtest, dass ein Benutzer &amp;#039;&amp;#039;&amp;#039;die Seite versehentlich verläßt&amp;#039;&amp;#039;&amp;#039;. Er wird vor allen anderen Guards getriggert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
beforeRouteLeave(to, from, next){&lt;br /&gt;
  console.log(&amp;quot;beforeRouteLeave in UsersList.vue: &amp;quot;);&lt;br /&gt;
  console.log(to, from);&lt;br /&gt;
  if (this.changesSaved) {&lt;br /&gt;
    next();&lt;br /&gt;
  }else{&lt;br /&gt;
    const userWantsToLeave = confirm(&amp;#039;Are you sure you want to quit without saving?&amp;#039;);&lt;br /&gt;
    next(userWantsToLeave);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Meta ==&lt;br /&gt;
Im meta Objekt kann man den einzelenen routes weitere Eigenschaften mitgeben. Das ist oft nützlich im Zusammenhang mit Guards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 meta: { needsAuth: true },&lt;br /&gt;
 //...&lt;br /&gt;
router.beforeEach(function(to, from, next) {&lt;br /&gt;
  if (to.meta.meedsAuth) {&lt;br /&gt;
    console.log(&amp;quot;Needs Auth!&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
//...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25165</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25165"/>
		<updated>2021-01-09T01:55:03Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Navigation Guard - beforeEnter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== Dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;br /&gt;
&lt;br /&gt;
In Kombination mit &amp;lt;router-link&amp;gt; und einem v-bind für das to Argument kann man so auch eine passende Navigation erzeugen:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Ein Problem mit &amp;lt;router-link&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wenn du auf einen dynamischen Link gewechselt hast z.B. auf&lt;br /&gt;
 myDomain.de/teams/t3&lt;br /&gt;
und von dort über einen Link&lt;br /&gt;
 &amp;lt;router-link to=&amp;quot;/teams/t2&amp;quot;&amp;gt;Klick mich&amp;lt;/router-link&amp;gt; &lt;br /&gt;
wechseln möchtest funktioniert dies hier nicht. Das liegt daran, dass wir den Parameter /t2 bzw. teamId im created() Hook verarbeiten. Dieser wird aber nur beim ersten mal wenn die Komponente erstellt wird aufgerufen. Da wir schon in der Komponente sind passiert das nicht erneut und der View wird nicht aktualisiert. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung: Ein watcher&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Zwar wird created() nicht aufgerufen aber das $route Objekt ändert sich sehr wohl. Daher können wir einfach einen Watcher einsetzen, der bei Änderungen des router Objekts anspricht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 watch: {&lt;br /&gt;
    $route(newRoute){&lt;br /&gt;
      this.loadTeamMembers(newRoute);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich bauen wir eine Funktion loadTeamMembers() die wir in methods unterbringen, damit wir den Code nicht mehrmals verwenden müssen (siehe finaler Code unten). Im Watcher können wir die Funktion einfach aufrufen wen das $route Objekt sich ändert.&lt;br /&gt;
&lt;br /&gt;
==== route Parameter als prop ====&lt;br /&gt;
&lt;br /&gt;
Der Ansatz oben hat einen Nachteil: Bisher wird die &amp;#039;&amp;#039;&amp;#039;Komponente nur über einen Aufruf einer bestimmten URL gerendert&amp;#039;&amp;#039;&amp;#039;. Wenn sie als Teil einer Parent-Komponente gerendert wird funktioniert das nicht. Hier wäre es &amp;#039;&amp;#039;&amp;#039;schöner eine Property nutzen zu können&amp;#039;&amp;#039;&amp;#039;. Statt über this.§route könnten wir dann über this.teamId darauf zugreifen.&lt;br /&gt;
&lt;br /&gt;
Das ist einfach möglich indem wir in der route Definition den Parameter props: true hinzufügen. &lt;br /&gt;
 props: true&lt;br /&gt;
Er sorgt dafür, dass das Pfad-Segement in den props der Komponente zur Verfügung steht:&lt;br /&gt;
 props: [&amp;#039;teamId&amp;#039;],&lt;br /&gt;
Auf diese Weise wird die Component vielseitiger einsetzbar und wird etwas einfacher.&lt;br /&gt;
=== redirect, alias ===&lt;br /&gt;
In der Router Konfiguration kann man auch Redirects einsetzen. Zum Beispiel um die Rootseite, die im Moment leer ist (bis auf die Navigation), auf die Teams-Liste zu leiten:&lt;br /&gt;
 { path: &amp;#039;/&amp;#039;, redirect: &amp;#039;/teams&amp;#039;},&lt;br /&gt;
Dies sollte vor der redirect definition stehen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man in der TeamsList Component die Route Seite als Alias. Hierbei bleibt die URL die Selbe aber der Inhalt der Teamsliste wird angezeigt:&lt;br /&gt;
 { path: &amp;#039;/teams&amp;#039;, component: TeamsList, alias: &amp;#039;/&amp;#039; },&lt;br /&gt;
&lt;br /&gt;
=== catch all ===&lt;br /&gt;
Zu guter Letzt möchten wir alle urls abfangen die nicht gehandelt sind. Das kann man mit einem catch all machen. Vue aktzeptiert in der Router Konfiguration auch dynamische Parameter mit Regex Ausdrücken. Daher können wir schreiben&lt;br /&gt;
 { path: &amp;#039;/:notFound(.*)&amp;#039;, component: NotFound}, //.* is regex for any characters&lt;br /&gt;
 //{ path: &amp;#039;/:notFound(.*)&amp;#039;, redirect: &amp;#039;/teams&amp;#039;}, // redirect would be possible too&lt;br /&gt;
&lt;br /&gt;
Das notFound kann auch einen anderen Namen bekommen. Wichtig ist dass wir hier eine Funktion an das path Objekt übergeben an die wir einen regulären Ausdruck übergeben. Diese Route sollte ganz am Ende stehen sonst würde sie die nachfolgenden Überschreiben.&lt;br /&gt;
&lt;br /&gt;
=== Nested Routes ===&lt;br /&gt;
Bisher haben wir /teams und /teams/[teamsId] als separate Routen definiert. Man kann aber die id Route auch als Kind der teams Route definieren. Das hat ein paar Vorteile.&lt;br /&gt;
* Der Router erkennt die Route als Kind und kann allen Parents eine Klasse und dem Kind eine extra Klasse vergeben.&lt;br /&gt;
* Man kann in der Parent Komponent die Kindkomponente als zusätzlichen Content anzeigen. sprich die Members werden zusätzlich in der Teams Liste angezeigt (dazu muss ein zusätzliches &amp;lt;router-view&amp;gt; in die Liste eingefügt werden, damit Vue weiß an welcher Stelle).&lt;br /&gt;
&lt;br /&gt;
So gehts:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
] },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Named Routes ===&lt;br /&gt;
Zusätzlich kann man Routes auch ein name property geben. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ name: &amp;#039;teams&amp;#039;, path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { name: &amp;#039;team-members&amp;#039;, path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann kann man Links auch damit aufrufen. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;router-link :to=&amp;quot;memberPath&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
computed: {&lt;br /&gt;
    memberPath(){&lt;br /&gt;
      //return &amp;#039;/teams/&amp;#039; + this.id;&lt;br /&gt;
      return {&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In diesem Beispiel wird noch das params Argument benötigt, da wir in der Komponente die teamId übergeben müssen. Wir haben jetzt etwas mehr Code aber wir können den Code besser Warten. Wenn sich das Segment &amp;quot;teams&amp;quot; ändert müssen wir das nur noch in der Route Konfiguration machen. Das kann bei größeren Apps eine Überlegung wert sein.&lt;br /&gt;
&lt;br /&gt;
=== URL Query Parameters ===&lt;br /&gt;
Auch GET artige Parameter kann man erzeugen (obwohl das eigentlich keine GET Parameter sind, da wir ja keine GET Anfrage an den Server schicken. Aber man kann Parameter an die URL hängen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
      return {&lt;br /&gt;
        //name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, &lt;br /&gt;
        params: { teamId: this.id },&lt;br /&gt;
        query: {sort: &amp;#039;asc&amp;#039;}&lt;br /&gt;
      }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Und sie in einer Komponente wieder auswerten:&lt;br /&gt;
 console.log(this.$route.query);&lt;br /&gt;
&lt;br /&gt;
== Multiple Routes ==&lt;br /&gt;
Man kann in einer Komponente mehrere &amp;lt;router-view&amp;gt; Tags mit jeweils einer eigenen Komponente nutzen. Dazu muss man&lt;br /&gt;
* Namen für die router-views vergeben also z.b. in App.vue zusätzlich den router-view&lt;br /&gt;
 &amp;lt;router-view name=&amp;quot;footer&amp;quot;&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
* in der Router Konfiguration statt dem component, das components (mitn s) Objekt ersetzen und die Komponentennamen definieren. Dabei übergibt man ein Objekt mit den Namen und den Views bzw. Komponenten&lt;br /&gt;
 components:{ default: TeamsList, footer: TeamsFooter},&lt;br /&gt;
&lt;br /&gt;
== Controlling Scrolling Behaviour - scrollBehaviour ==&lt;br /&gt;
Es gibt ein weiteres Objekt für die Konfiguration des Routers. Das scrollBehaviour Objekt. Es ist kein Kindobjekt von routes sondern ein eigenständiges Objekt wie z.b. history. scrollBehaviour eine Funktion die automatisch 3 Argumente bekommt nämlich auf welcher Seite der User gelandet ist, wo er her kam und an welcher Stelle er zuletzt gescrollt hat. Als Rückgabewert gibt man ein Objekt zurück das angibt wohin man scrollen möchte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
scrollBehavior(to, from, savedPosition){&lt;br /&gt;
        // to is where we navigate to (route object),&lt;br /&gt;
        // from page where we came from&lt;br /&gt;
        // savePosition stores our last page offset&lt;br /&gt;
        // this function should return where to scroll &lt;br /&gt;
       &lt;br /&gt;
        // console.log(to, from, savedPosition)&lt;br /&gt;
        &lt;br /&gt;
        if (savedPosition){&lt;br /&gt;
                return savedPosition;&lt;br /&gt;
        }else{&lt;br /&gt;
            return {left: 0, top: 0}&lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Navigation Guard - beforeEnter ==&lt;br /&gt;
Es gibt den Navigation Guard in Form der Funktion &amp;#039;&amp;#039;&amp;#039;beforeEnter&amp;#039;&amp;#039;&amp;#039;. Das ist im Prinzip ein Hook. Dieser wird getriggert sobald eine Navigation stattfindet (die Seite sich ändert) und ermöglicht es in die Ausführung einzugreifen. Dies kann man z.B für &amp;#039;&amp;#039;&amp;#039;Authentication&amp;#039;&amp;#039;&amp;#039; nutzen, oder um &amp;#039;&amp;#039;&amp;#039;Änderungen zu tracken&amp;#039;&amp;#039;&amp;#039;, oder um zu verhindern, dass ein Benutzer die &amp;#039;&amp;#039;&amp;#039;Seite ausversehen wechselt&amp;#039;&amp;#039;&amp;#039; bevor er gespeichert hat.&lt;br /&gt;
&lt;br /&gt;
Die Guard Funktion wird aufgerufen sobald eine Navigation stattfindet (Link klicken oder Seite manuell laden) Übergeben werden neben den to und from Argumenten noch ein next argument (Namen sind frei wählbar, Reihenfolge ist wichtig).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// Navigationm Guard&lt;br /&gt;
router.beforeEach(function(to, from, next) {&lt;br /&gt;
    console.log(&amp;quot;Global beforeEach...&amp;quot;);&lt;br /&gt;
    console.log(to, from);&lt;br /&gt;
    next(); // means  true will allow navigation, false will cancel&lt;br /&gt;
    //next(false);&lt;br /&gt;
    //next(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
    //next({ name: &amp;#039;team-members&amp;#039;, params: { teamId: &amp;#039;t2&amp;#039;} })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
next entscheidet, ob die Navigation ausgeführt wird oder nicht. Next enthält true, false oder ein Ziel in Form eines Strings oder Route Objekts. Default ist true wenn kein Parameter angegeben ist.&lt;br /&gt;
&lt;br /&gt;
=== afterEach() ===&lt;br /&gt;
Es gibt auch einen Hook, der nach der Navigation ausgeführt wird. Den afterEach() Navigation Guard:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
router.afterEach(function(zu,von){&lt;br /&gt;
    console.log(&amp;#039;Global afterEach hook&amp;#039;);&lt;br /&gt;
    console.log(zu, von);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Da er nach der Navigation ausgeführt wird benötigt er kein next Argument. Er eignet sich z.b. um Analytics Infos oder Protokolldaten an den Server zu senden.&lt;br /&gt;
=== Globale und lokale Navigation Guards ===&lt;br /&gt;
die Funktion beforeEnter kann man auf der router Ebene oder auf der Ebene der einzelnen routes einsetzen. Je nachdem wird sie nur aufgerufen wenn die Route gerendert wird, oder wenn global bei jeder Änderung der Seite (auch beim ersten Aufruf)&lt;br /&gt;
&lt;br /&gt;
Zusätzlich kannst Du lokale Guards auch in einer Komponente definieren. Dann schreibst du &lt;br /&gt;
&lt;br /&gt;
Für Komponenten die z.B. über ein for Schleife wiederverwendet werden gibt es noch den&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;beforeRouteUpdate&amp;#039;&amp;#039;&amp;#039; Hook.&lt;br /&gt;
&lt;br /&gt;
=== beforeRouteLeave ===&lt;br /&gt;
Der beforeRouteLeave Guard ist z.B. nützlich wenn Du verhindern möchtest, dass ein Benutzer &amp;#039;&amp;#039;&amp;#039;die Seite versehentlich verläßt&amp;#039;&amp;#039;&amp;#039;. Er wird vor allen anderen Guards getriggert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
beforeRouteLeave(to, from, next){&lt;br /&gt;
  console.log(&amp;quot;beforeRouteLeave in UsersList.vue: &amp;quot;);&lt;br /&gt;
  console.log(to, from);&lt;br /&gt;
  if (this.changesSaved) {&lt;br /&gt;
    next();&lt;br /&gt;
  }else{&lt;br /&gt;
    const userWantsToLeave = confirm(&amp;#039;Are you sure you want to quit without saving?&amp;#039;);&lt;br /&gt;
    next(userWantsToLeave);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25164</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25164"/>
		<updated>2021-01-09T01:41:20Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Navigation Guard - beforeEnter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== Dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;br /&gt;
&lt;br /&gt;
In Kombination mit &amp;lt;router-link&amp;gt; und einem v-bind für das to Argument kann man so auch eine passende Navigation erzeugen:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Ein Problem mit &amp;lt;router-link&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wenn du auf einen dynamischen Link gewechselt hast z.B. auf&lt;br /&gt;
 myDomain.de/teams/t3&lt;br /&gt;
und von dort über einen Link&lt;br /&gt;
 &amp;lt;router-link to=&amp;quot;/teams/t2&amp;quot;&amp;gt;Klick mich&amp;lt;/router-link&amp;gt; &lt;br /&gt;
wechseln möchtest funktioniert dies hier nicht. Das liegt daran, dass wir den Parameter /t2 bzw. teamId im created() Hook verarbeiten. Dieser wird aber nur beim ersten mal wenn die Komponente erstellt wird aufgerufen. Da wir schon in der Komponente sind passiert das nicht erneut und der View wird nicht aktualisiert. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung: Ein watcher&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Zwar wird created() nicht aufgerufen aber das $route Objekt ändert sich sehr wohl. Daher können wir einfach einen Watcher einsetzen, der bei Änderungen des router Objekts anspricht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 watch: {&lt;br /&gt;
    $route(newRoute){&lt;br /&gt;
      this.loadTeamMembers(newRoute);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich bauen wir eine Funktion loadTeamMembers() die wir in methods unterbringen, damit wir den Code nicht mehrmals verwenden müssen (siehe finaler Code unten). Im Watcher können wir die Funktion einfach aufrufen wen das $route Objekt sich ändert.&lt;br /&gt;
&lt;br /&gt;
==== route Parameter als prop ====&lt;br /&gt;
&lt;br /&gt;
Der Ansatz oben hat einen Nachteil: Bisher wird die &amp;#039;&amp;#039;&amp;#039;Komponente nur über einen Aufruf einer bestimmten URL gerendert&amp;#039;&amp;#039;&amp;#039;. Wenn sie als Teil einer Parent-Komponente gerendert wird funktioniert das nicht. Hier wäre es &amp;#039;&amp;#039;&amp;#039;schöner eine Property nutzen zu können&amp;#039;&amp;#039;&amp;#039;. Statt über this.§route könnten wir dann über this.teamId darauf zugreifen.&lt;br /&gt;
&lt;br /&gt;
Das ist einfach möglich indem wir in der route Definition den Parameter props: true hinzufügen. &lt;br /&gt;
 props: true&lt;br /&gt;
Er sorgt dafür, dass das Pfad-Segement in den props der Komponente zur Verfügung steht:&lt;br /&gt;
 props: [&amp;#039;teamId&amp;#039;],&lt;br /&gt;
Auf diese Weise wird die Component vielseitiger einsetzbar und wird etwas einfacher.&lt;br /&gt;
=== redirect, alias ===&lt;br /&gt;
In der Router Konfiguration kann man auch Redirects einsetzen. Zum Beispiel um die Rootseite, die im Moment leer ist (bis auf die Navigation), auf die Teams-Liste zu leiten:&lt;br /&gt;
 { path: &amp;#039;/&amp;#039;, redirect: &amp;#039;/teams&amp;#039;},&lt;br /&gt;
Dies sollte vor der redirect definition stehen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man in der TeamsList Component die Route Seite als Alias. Hierbei bleibt die URL die Selbe aber der Inhalt der Teamsliste wird angezeigt:&lt;br /&gt;
 { path: &amp;#039;/teams&amp;#039;, component: TeamsList, alias: &amp;#039;/&amp;#039; },&lt;br /&gt;
&lt;br /&gt;
=== catch all ===&lt;br /&gt;
Zu guter Letzt möchten wir alle urls abfangen die nicht gehandelt sind. Das kann man mit einem catch all machen. Vue aktzeptiert in der Router Konfiguration auch dynamische Parameter mit Regex Ausdrücken. Daher können wir schreiben&lt;br /&gt;
 { path: &amp;#039;/:notFound(.*)&amp;#039;, component: NotFound}, //.* is regex for any characters&lt;br /&gt;
 //{ path: &amp;#039;/:notFound(.*)&amp;#039;, redirect: &amp;#039;/teams&amp;#039;}, // redirect would be possible too&lt;br /&gt;
&lt;br /&gt;
Das notFound kann auch einen anderen Namen bekommen. Wichtig ist dass wir hier eine Funktion an das path Objekt übergeben an die wir einen regulären Ausdruck übergeben. Diese Route sollte ganz am Ende stehen sonst würde sie die nachfolgenden Überschreiben.&lt;br /&gt;
&lt;br /&gt;
=== Nested Routes ===&lt;br /&gt;
Bisher haben wir /teams und /teams/[teamsId] als separate Routen definiert. Man kann aber die id Route auch als Kind der teams Route definieren. Das hat ein paar Vorteile.&lt;br /&gt;
* Der Router erkennt die Route als Kind und kann allen Parents eine Klasse und dem Kind eine extra Klasse vergeben.&lt;br /&gt;
* Man kann in der Parent Komponent die Kindkomponente als zusätzlichen Content anzeigen. sprich die Members werden zusätzlich in der Teams Liste angezeigt (dazu muss ein zusätzliches &amp;lt;router-view&amp;gt; in die Liste eingefügt werden, damit Vue weiß an welcher Stelle).&lt;br /&gt;
&lt;br /&gt;
So gehts:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
] },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Named Routes ===&lt;br /&gt;
Zusätzlich kann man Routes auch ein name property geben. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ name: &amp;#039;teams&amp;#039;, path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { name: &amp;#039;team-members&amp;#039;, path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann kann man Links auch damit aufrufen. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;router-link :to=&amp;quot;memberPath&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
computed: {&lt;br /&gt;
    memberPath(){&lt;br /&gt;
      //return &amp;#039;/teams/&amp;#039; + this.id;&lt;br /&gt;
      return {&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In diesem Beispiel wird noch das params Argument benötigt, da wir in der Komponente die teamId übergeben müssen. Wir haben jetzt etwas mehr Code aber wir können den Code besser Warten. Wenn sich das Segment &amp;quot;teams&amp;quot; ändert müssen wir das nur noch in der Route Konfiguration machen. Das kann bei größeren Apps eine Überlegung wert sein.&lt;br /&gt;
&lt;br /&gt;
=== URL Query Parameters ===&lt;br /&gt;
Auch GET artige Parameter kann man erzeugen (obwohl das eigentlich keine GET Parameter sind, da wir ja keine GET Anfrage an den Server schicken. Aber man kann Parameter an die URL hängen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
      return {&lt;br /&gt;
        //name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, &lt;br /&gt;
        params: { teamId: this.id },&lt;br /&gt;
        query: {sort: &amp;#039;asc&amp;#039;}&lt;br /&gt;
      }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Und sie in einer Komponente wieder auswerten:&lt;br /&gt;
 console.log(this.$route.query);&lt;br /&gt;
&lt;br /&gt;
== Multiple Routes ==&lt;br /&gt;
Man kann in einer Komponente mehrere &amp;lt;router-view&amp;gt; Tags mit jeweils einer eigenen Komponente nutzen. Dazu muss man&lt;br /&gt;
* Namen für die router-views vergeben also z.b. in App.vue zusätzlich den router-view&lt;br /&gt;
 &amp;lt;router-view name=&amp;quot;footer&amp;quot;&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
* in der Router Konfiguration statt dem component, das components (mitn s) Objekt ersetzen und die Komponentennamen definieren. Dabei übergibt man ein Objekt mit den Namen und den Views bzw. Komponenten&lt;br /&gt;
 components:{ default: TeamsList, footer: TeamsFooter},&lt;br /&gt;
&lt;br /&gt;
== Controlling Scrolling Behaviour - scrollBehaviour ==&lt;br /&gt;
Es gibt ein weiteres Objekt für die Konfiguration des Routers. Das scrollBehaviour Objekt. Es ist kein Kindobjekt von routes sondern ein eigenständiges Objekt wie z.b. history. scrollBehaviour eine Funktion die automatisch 3 Argumente bekommt nämlich auf welcher Seite der User gelandet ist, wo er her kam und an welcher Stelle er zuletzt gescrollt hat. Als Rückgabewert gibt man ein Objekt zurück das angibt wohin man scrollen möchte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
scrollBehavior(to, from, savedPosition){&lt;br /&gt;
        // to is where we navigate to (route object),&lt;br /&gt;
        // from page where we came from&lt;br /&gt;
        // savePosition stores our last page offset&lt;br /&gt;
        // this function should return where to scroll &lt;br /&gt;
       &lt;br /&gt;
        // console.log(to, from, savedPosition)&lt;br /&gt;
        &lt;br /&gt;
        if (savedPosition){&lt;br /&gt;
                return savedPosition;&lt;br /&gt;
        }else{&lt;br /&gt;
            return {left: 0, top: 0}&lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Navigation Guard - beforeEnter ==&lt;br /&gt;
Es gibt den Navigation Guard in Form der Funktion &amp;#039;&amp;#039;&amp;#039;beforeEnter&amp;#039;&amp;#039;&amp;#039;. Das ist im Prinzip ein Hook. Dieser wird getriggert sobald eine Navigation stattfindet (die Seite sich ändert) und ermöglicht es in die Ausführung einzugreifen. Dies kann man z.B für &amp;#039;&amp;#039;&amp;#039;Authentication&amp;#039;&amp;#039;&amp;#039; nutzen, oder um &amp;#039;&amp;#039;&amp;#039;Änderungen zu tracken&amp;#039;&amp;#039;&amp;#039;, oder um zu verhindern, dass ein Benutzer die &amp;#039;&amp;#039;&amp;#039;Seite ausversehen wechselt&amp;#039;&amp;#039;&amp;#039; bevor er gespeichert hat.&lt;br /&gt;
&lt;br /&gt;
Die Guard Funktion wird aufgerufen sobald eine Navigation stattfindet (Link klicken oder Seite manuell laden) Übergeben werden neben den to und from Argumenten noch ein next argument (Namen sind frei wählbar, Reihenfolge ist wichtig).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// Navigationm Guard&lt;br /&gt;
router.beforeEach(function(to, from, next) {&lt;br /&gt;
    console.log(&amp;quot;Global beforeEach...&amp;quot;);&lt;br /&gt;
    console.log(to, from);&lt;br /&gt;
    next(); // means  true will allow navigation, false will cancel&lt;br /&gt;
    //next(false);&lt;br /&gt;
    //next(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
    //next({ name: &amp;#039;team-members&amp;#039;, params: { teamId: &amp;#039;t2&amp;#039;} })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
next entscheidet, ob die Navigation ausgeführt wird oder nicht. Next enthält true, false oder ein Ziel in Form eines Strings oder Route Objekts. Default ist true wenn kein Parameter angegeben ist.&lt;br /&gt;
&lt;br /&gt;
=== afterEach() ===&lt;br /&gt;
Es gibt auch einen Hook, der nach der Navigation ausgeführt wird. Den afterEach() Navigation Guard:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
router.afterEach(function(zu,von){&lt;br /&gt;
    console.log(&amp;#039;Global afterEach hook&amp;#039;);&lt;br /&gt;
    console.log(zu, von);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Da er nach der Navigation ausgeführt wird benötigt er kein next Argument. Er eignet sich z.b. um Analytics Infos oder Protokolldaten an den Server zu senden.&lt;br /&gt;
=== Globale und lokale Navigation Guards ===&lt;br /&gt;
die Funktion beforeEnter kann man auf der router Ebene oder auf der Ebene der einzelnen routes einsetzen. Je nachdem wird sie nur aufgerufen wenn die Route gerendert wird, oder wenn global bei jeder Änderung der Seite (auch beim ersten Aufruf)&lt;br /&gt;
&lt;br /&gt;
Zusätzlich kannst Du lokale Guards auch in einer Komponente definieren. Dann schreibst du &lt;br /&gt;
&lt;br /&gt;
Für Komponenten die z.B. über ein for Schleife wiederverwendet werden gibt es noch den&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;beforeRouteUpdate&amp;#039;&amp;#039;&amp;#039; Hook.&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25163</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25163"/>
		<updated>2021-01-09T01:36:48Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Navigation Guard - beforeEnter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== Dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;br /&gt;
&lt;br /&gt;
In Kombination mit &amp;lt;router-link&amp;gt; und einem v-bind für das to Argument kann man so auch eine passende Navigation erzeugen:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Ein Problem mit &amp;lt;router-link&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wenn du auf einen dynamischen Link gewechselt hast z.B. auf&lt;br /&gt;
 myDomain.de/teams/t3&lt;br /&gt;
und von dort über einen Link&lt;br /&gt;
 &amp;lt;router-link to=&amp;quot;/teams/t2&amp;quot;&amp;gt;Klick mich&amp;lt;/router-link&amp;gt; &lt;br /&gt;
wechseln möchtest funktioniert dies hier nicht. Das liegt daran, dass wir den Parameter /t2 bzw. teamId im created() Hook verarbeiten. Dieser wird aber nur beim ersten mal wenn die Komponente erstellt wird aufgerufen. Da wir schon in der Komponente sind passiert das nicht erneut und der View wird nicht aktualisiert. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung: Ein watcher&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Zwar wird created() nicht aufgerufen aber das $route Objekt ändert sich sehr wohl. Daher können wir einfach einen Watcher einsetzen, der bei Änderungen des router Objekts anspricht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 watch: {&lt;br /&gt;
    $route(newRoute){&lt;br /&gt;
      this.loadTeamMembers(newRoute);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich bauen wir eine Funktion loadTeamMembers() die wir in methods unterbringen, damit wir den Code nicht mehrmals verwenden müssen (siehe finaler Code unten). Im Watcher können wir die Funktion einfach aufrufen wen das $route Objekt sich ändert.&lt;br /&gt;
&lt;br /&gt;
==== route Parameter als prop ====&lt;br /&gt;
&lt;br /&gt;
Der Ansatz oben hat einen Nachteil: Bisher wird die &amp;#039;&amp;#039;&amp;#039;Komponente nur über einen Aufruf einer bestimmten URL gerendert&amp;#039;&amp;#039;&amp;#039;. Wenn sie als Teil einer Parent-Komponente gerendert wird funktioniert das nicht. Hier wäre es &amp;#039;&amp;#039;&amp;#039;schöner eine Property nutzen zu können&amp;#039;&amp;#039;&amp;#039;. Statt über this.§route könnten wir dann über this.teamId darauf zugreifen.&lt;br /&gt;
&lt;br /&gt;
Das ist einfach möglich indem wir in der route Definition den Parameter props: true hinzufügen. &lt;br /&gt;
 props: true&lt;br /&gt;
Er sorgt dafür, dass das Pfad-Segement in den props der Komponente zur Verfügung steht:&lt;br /&gt;
 props: [&amp;#039;teamId&amp;#039;],&lt;br /&gt;
Auf diese Weise wird die Component vielseitiger einsetzbar und wird etwas einfacher.&lt;br /&gt;
=== redirect, alias ===&lt;br /&gt;
In der Router Konfiguration kann man auch Redirects einsetzen. Zum Beispiel um die Rootseite, die im Moment leer ist (bis auf die Navigation), auf die Teams-Liste zu leiten:&lt;br /&gt;
 { path: &amp;#039;/&amp;#039;, redirect: &amp;#039;/teams&amp;#039;},&lt;br /&gt;
Dies sollte vor der redirect definition stehen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man in der TeamsList Component die Route Seite als Alias. Hierbei bleibt die URL die Selbe aber der Inhalt der Teamsliste wird angezeigt:&lt;br /&gt;
 { path: &amp;#039;/teams&amp;#039;, component: TeamsList, alias: &amp;#039;/&amp;#039; },&lt;br /&gt;
&lt;br /&gt;
=== catch all ===&lt;br /&gt;
Zu guter Letzt möchten wir alle urls abfangen die nicht gehandelt sind. Das kann man mit einem catch all machen. Vue aktzeptiert in der Router Konfiguration auch dynamische Parameter mit Regex Ausdrücken. Daher können wir schreiben&lt;br /&gt;
 { path: &amp;#039;/:notFound(.*)&amp;#039;, component: NotFound}, //.* is regex for any characters&lt;br /&gt;
 //{ path: &amp;#039;/:notFound(.*)&amp;#039;, redirect: &amp;#039;/teams&amp;#039;}, // redirect would be possible too&lt;br /&gt;
&lt;br /&gt;
Das notFound kann auch einen anderen Namen bekommen. Wichtig ist dass wir hier eine Funktion an das path Objekt übergeben an die wir einen regulären Ausdruck übergeben. Diese Route sollte ganz am Ende stehen sonst würde sie die nachfolgenden Überschreiben.&lt;br /&gt;
&lt;br /&gt;
=== Nested Routes ===&lt;br /&gt;
Bisher haben wir /teams und /teams/[teamsId] als separate Routen definiert. Man kann aber die id Route auch als Kind der teams Route definieren. Das hat ein paar Vorteile.&lt;br /&gt;
* Der Router erkennt die Route als Kind und kann allen Parents eine Klasse und dem Kind eine extra Klasse vergeben.&lt;br /&gt;
* Man kann in der Parent Komponent die Kindkomponente als zusätzlichen Content anzeigen. sprich die Members werden zusätzlich in der Teams Liste angezeigt (dazu muss ein zusätzliches &amp;lt;router-view&amp;gt; in die Liste eingefügt werden, damit Vue weiß an welcher Stelle).&lt;br /&gt;
&lt;br /&gt;
So gehts:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
] },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Named Routes ===&lt;br /&gt;
Zusätzlich kann man Routes auch ein name property geben. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ name: &amp;#039;teams&amp;#039;, path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { name: &amp;#039;team-members&amp;#039;, path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann kann man Links auch damit aufrufen. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;router-link :to=&amp;quot;memberPath&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
computed: {&lt;br /&gt;
    memberPath(){&lt;br /&gt;
      //return &amp;#039;/teams/&amp;#039; + this.id;&lt;br /&gt;
      return {&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In diesem Beispiel wird noch das params Argument benötigt, da wir in der Komponente die teamId übergeben müssen. Wir haben jetzt etwas mehr Code aber wir können den Code besser Warten. Wenn sich das Segment &amp;quot;teams&amp;quot; ändert müssen wir das nur noch in der Route Konfiguration machen. Das kann bei größeren Apps eine Überlegung wert sein.&lt;br /&gt;
&lt;br /&gt;
=== URL Query Parameters ===&lt;br /&gt;
Auch GET artige Parameter kann man erzeugen (obwohl das eigentlich keine GET Parameter sind, da wir ja keine GET Anfrage an den Server schicken. Aber man kann Parameter an die URL hängen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
      return {&lt;br /&gt;
        //name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, &lt;br /&gt;
        params: { teamId: this.id },&lt;br /&gt;
        query: {sort: &amp;#039;asc&amp;#039;}&lt;br /&gt;
      }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Und sie in einer Komponente wieder auswerten:&lt;br /&gt;
 console.log(this.$route.query);&lt;br /&gt;
&lt;br /&gt;
== Multiple Routes ==&lt;br /&gt;
Man kann in einer Komponente mehrere &amp;lt;router-view&amp;gt; Tags mit jeweils einer eigenen Komponente nutzen. Dazu muss man&lt;br /&gt;
* Namen für die router-views vergeben also z.b. in App.vue zusätzlich den router-view&lt;br /&gt;
 &amp;lt;router-view name=&amp;quot;footer&amp;quot;&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
* in der Router Konfiguration statt dem component, das components (mitn s) Objekt ersetzen und die Komponentennamen definieren. Dabei übergibt man ein Objekt mit den Namen und den Views bzw. Komponenten&lt;br /&gt;
 components:{ default: TeamsList, footer: TeamsFooter},&lt;br /&gt;
&lt;br /&gt;
== Controlling Scrolling Behaviour - scrollBehaviour ==&lt;br /&gt;
Es gibt ein weiteres Objekt für die Konfiguration des Routers. Das scrollBehaviour Objekt. Es ist kein Kindobjekt von routes sondern ein eigenständiges Objekt wie z.b. history. scrollBehaviour eine Funktion die automatisch 3 Argumente bekommt nämlich auf welcher Seite der User gelandet ist, wo er her kam und an welcher Stelle er zuletzt gescrollt hat. Als Rückgabewert gibt man ein Objekt zurück das angibt wohin man scrollen möchte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
scrollBehavior(to, from, savedPosition){&lt;br /&gt;
        // to is where we navigate to (route object),&lt;br /&gt;
        // from page where we came from&lt;br /&gt;
        // savePosition stores our last page offset&lt;br /&gt;
        // this function should return where to scroll &lt;br /&gt;
       &lt;br /&gt;
        // console.log(to, from, savedPosition)&lt;br /&gt;
        &lt;br /&gt;
        if (savedPosition){&lt;br /&gt;
                return savedPosition;&lt;br /&gt;
        }else{&lt;br /&gt;
            return {left: 0, top: 0}&lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Navigation Guard - beforeEnter ==&lt;br /&gt;
Es gibt den Navigation Guard in Form der Funktion &amp;#039;&amp;#039;&amp;#039;beforeEnter&amp;#039;&amp;#039;&amp;#039;. Das ist im Prinzip ein Hook. Dieser wird getriggert sobald eine Navigation stattfindet (die Seite sich ändert) und ermöglicht es in die Ausführung einzugreifen. Dies kann man z.B für &amp;#039;&amp;#039;&amp;#039;Authentication&amp;#039;&amp;#039;&amp;#039; nutzen, oder um &amp;#039;&amp;#039;&amp;#039;Änderungen zu tracken&amp;#039;&amp;#039;&amp;#039;, oder um zu verhindern, dass ein Benutzer die &amp;#039;&amp;#039;&amp;#039;Seite ausversehen wechselt&amp;#039;&amp;#039;&amp;#039; bevor er gespeichert hat.&lt;br /&gt;
&lt;br /&gt;
Die Guard Funktion wird aufgerufen sobald eine Navigation stattfindet (Link klicken oder Seite manuell laden) Übergeben werden neben den to und from Argumenten noch ein next argument (Namen sind frei wählbar, Reihenfolge ist wichtig).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// Navigationm Guard&lt;br /&gt;
router.beforeEach(function(to, from, next) {&lt;br /&gt;
    console.log(&amp;quot;Global beforeEach...&amp;quot;);&lt;br /&gt;
    console.log(to, from);&lt;br /&gt;
    next(); // means  true will allow navigation, false will cancel&lt;br /&gt;
    //next(false);&lt;br /&gt;
    //next(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
    //next({ name: &amp;#039;team-members&amp;#039;, params: { teamId: &amp;#039;t2&amp;#039;} })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
next entscheidet, ob die Navigation ausgeführt wird oder nicht. Next enthält true, false oder ein Ziel in Form eines Strings oder Route Objekts. Default ist true wenn kein Parameter angegeben ist.&lt;br /&gt;
&lt;br /&gt;
Es gibt auch einen Hook, der nach der Navigation ausgeführt wird. Den afterEach() Navigation Guard:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
router.afterEach(function(zu,von){&lt;br /&gt;
    console.log(&amp;#039;Global afterEach hook&amp;#039;);&lt;br /&gt;
    console.log(zu, von);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Globale und lokale Navigation Guards ===&lt;br /&gt;
die Funktion beforeEnter kann man auf der router Ebene oder auf der Ebene der einzelnen routes einsetzen. Je nachdem wird sie nur aufgerufen wenn die Route gerendert wird, oder wenn global bei jeder Änderung der Seite (auch beim ersten Aufruf)&lt;br /&gt;
&lt;br /&gt;
Zusätzlich kannst Du lokale Guards auch in einer Komponente definieren. Dann schreibst du &lt;br /&gt;
&lt;br /&gt;
Für Komponenten die z.B. über ein for Schleife wiederverwendet werden gibt es noch den&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;beforeRouteUpdate&amp;#039;&amp;#039;&amp;#039; Hook.&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25162</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25162"/>
		<updated>2021-01-09T01:32:38Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Navigation Guards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== Dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;br /&gt;
&lt;br /&gt;
In Kombination mit &amp;lt;router-link&amp;gt; und einem v-bind für das to Argument kann man so auch eine passende Navigation erzeugen:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Ein Problem mit &amp;lt;router-link&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wenn du auf einen dynamischen Link gewechselt hast z.B. auf&lt;br /&gt;
 myDomain.de/teams/t3&lt;br /&gt;
und von dort über einen Link&lt;br /&gt;
 &amp;lt;router-link to=&amp;quot;/teams/t2&amp;quot;&amp;gt;Klick mich&amp;lt;/router-link&amp;gt; &lt;br /&gt;
wechseln möchtest funktioniert dies hier nicht. Das liegt daran, dass wir den Parameter /t2 bzw. teamId im created() Hook verarbeiten. Dieser wird aber nur beim ersten mal wenn die Komponente erstellt wird aufgerufen. Da wir schon in der Komponente sind passiert das nicht erneut und der View wird nicht aktualisiert. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung: Ein watcher&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Zwar wird created() nicht aufgerufen aber das $route Objekt ändert sich sehr wohl. Daher können wir einfach einen Watcher einsetzen, der bei Änderungen des router Objekts anspricht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 watch: {&lt;br /&gt;
    $route(newRoute){&lt;br /&gt;
      this.loadTeamMembers(newRoute);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich bauen wir eine Funktion loadTeamMembers() die wir in methods unterbringen, damit wir den Code nicht mehrmals verwenden müssen (siehe finaler Code unten). Im Watcher können wir die Funktion einfach aufrufen wen das $route Objekt sich ändert.&lt;br /&gt;
&lt;br /&gt;
==== route Parameter als prop ====&lt;br /&gt;
&lt;br /&gt;
Der Ansatz oben hat einen Nachteil: Bisher wird die &amp;#039;&amp;#039;&amp;#039;Komponente nur über einen Aufruf einer bestimmten URL gerendert&amp;#039;&amp;#039;&amp;#039;. Wenn sie als Teil einer Parent-Komponente gerendert wird funktioniert das nicht. Hier wäre es &amp;#039;&amp;#039;&amp;#039;schöner eine Property nutzen zu können&amp;#039;&amp;#039;&amp;#039;. Statt über this.§route könnten wir dann über this.teamId darauf zugreifen.&lt;br /&gt;
&lt;br /&gt;
Das ist einfach möglich indem wir in der route Definition den Parameter props: true hinzufügen. &lt;br /&gt;
 props: true&lt;br /&gt;
Er sorgt dafür, dass das Pfad-Segement in den props der Komponente zur Verfügung steht:&lt;br /&gt;
 props: [&amp;#039;teamId&amp;#039;],&lt;br /&gt;
Auf diese Weise wird die Component vielseitiger einsetzbar und wird etwas einfacher.&lt;br /&gt;
=== redirect, alias ===&lt;br /&gt;
In der Router Konfiguration kann man auch Redirects einsetzen. Zum Beispiel um die Rootseite, die im Moment leer ist (bis auf die Navigation), auf die Teams-Liste zu leiten:&lt;br /&gt;
 { path: &amp;#039;/&amp;#039;, redirect: &amp;#039;/teams&amp;#039;},&lt;br /&gt;
Dies sollte vor der redirect definition stehen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man in der TeamsList Component die Route Seite als Alias. Hierbei bleibt die URL die Selbe aber der Inhalt der Teamsliste wird angezeigt:&lt;br /&gt;
 { path: &amp;#039;/teams&amp;#039;, component: TeamsList, alias: &amp;#039;/&amp;#039; },&lt;br /&gt;
&lt;br /&gt;
=== catch all ===&lt;br /&gt;
Zu guter Letzt möchten wir alle urls abfangen die nicht gehandelt sind. Das kann man mit einem catch all machen. Vue aktzeptiert in der Router Konfiguration auch dynamische Parameter mit Regex Ausdrücken. Daher können wir schreiben&lt;br /&gt;
 { path: &amp;#039;/:notFound(.*)&amp;#039;, component: NotFound}, //.* is regex for any characters&lt;br /&gt;
 //{ path: &amp;#039;/:notFound(.*)&amp;#039;, redirect: &amp;#039;/teams&amp;#039;}, // redirect would be possible too&lt;br /&gt;
&lt;br /&gt;
Das notFound kann auch einen anderen Namen bekommen. Wichtig ist dass wir hier eine Funktion an das path Objekt übergeben an die wir einen regulären Ausdruck übergeben. Diese Route sollte ganz am Ende stehen sonst würde sie die nachfolgenden Überschreiben.&lt;br /&gt;
&lt;br /&gt;
=== Nested Routes ===&lt;br /&gt;
Bisher haben wir /teams und /teams/[teamsId] als separate Routen definiert. Man kann aber die id Route auch als Kind der teams Route definieren. Das hat ein paar Vorteile.&lt;br /&gt;
* Der Router erkennt die Route als Kind und kann allen Parents eine Klasse und dem Kind eine extra Klasse vergeben.&lt;br /&gt;
* Man kann in der Parent Komponent die Kindkomponente als zusätzlichen Content anzeigen. sprich die Members werden zusätzlich in der Teams Liste angezeigt (dazu muss ein zusätzliches &amp;lt;router-view&amp;gt; in die Liste eingefügt werden, damit Vue weiß an welcher Stelle).&lt;br /&gt;
&lt;br /&gt;
So gehts:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
] },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Named Routes ===&lt;br /&gt;
Zusätzlich kann man Routes auch ein name property geben. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ name: &amp;#039;teams&amp;#039;, path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { name: &amp;#039;team-members&amp;#039;, path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann kann man Links auch damit aufrufen. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;router-link :to=&amp;quot;memberPath&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
computed: {&lt;br /&gt;
    memberPath(){&lt;br /&gt;
      //return &amp;#039;/teams/&amp;#039; + this.id;&lt;br /&gt;
      return {&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In diesem Beispiel wird noch das params Argument benötigt, da wir in der Komponente die teamId übergeben müssen. Wir haben jetzt etwas mehr Code aber wir können den Code besser Warten. Wenn sich das Segment &amp;quot;teams&amp;quot; ändert müssen wir das nur noch in der Route Konfiguration machen. Das kann bei größeren Apps eine Überlegung wert sein.&lt;br /&gt;
&lt;br /&gt;
=== URL Query Parameters ===&lt;br /&gt;
Auch GET artige Parameter kann man erzeugen (obwohl das eigentlich keine GET Parameter sind, da wir ja keine GET Anfrage an den Server schicken. Aber man kann Parameter an die URL hängen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
      return {&lt;br /&gt;
        //name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, &lt;br /&gt;
        params: { teamId: this.id },&lt;br /&gt;
        query: {sort: &amp;#039;asc&amp;#039;}&lt;br /&gt;
      }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Und sie in einer Komponente wieder auswerten:&lt;br /&gt;
 console.log(this.$route.query);&lt;br /&gt;
&lt;br /&gt;
== Multiple Routes ==&lt;br /&gt;
Man kann in einer Komponente mehrere &amp;lt;router-view&amp;gt; Tags mit jeweils einer eigenen Komponente nutzen. Dazu muss man&lt;br /&gt;
* Namen für die router-views vergeben also z.b. in App.vue zusätzlich den router-view&lt;br /&gt;
 &amp;lt;router-view name=&amp;quot;footer&amp;quot;&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
* in der Router Konfiguration statt dem component, das components (mitn s) Objekt ersetzen und die Komponentennamen definieren. Dabei übergibt man ein Objekt mit den Namen und den Views bzw. Komponenten&lt;br /&gt;
 components:{ default: TeamsList, footer: TeamsFooter},&lt;br /&gt;
&lt;br /&gt;
== Controlling Scrolling Behaviour - scrollBehaviour ==&lt;br /&gt;
Es gibt ein weiteres Objekt für die Konfiguration des Routers. Das scrollBehaviour Objekt. Es ist kein Kindobjekt von routes sondern ein eigenständiges Objekt wie z.b. history. scrollBehaviour eine Funktion die automatisch 3 Argumente bekommt nämlich auf welcher Seite der User gelandet ist, wo er her kam und an welcher Stelle er zuletzt gescrollt hat. Als Rückgabewert gibt man ein Objekt zurück das angibt wohin man scrollen möchte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
scrollBehavior(to, from, savedPosition){&lt;br /&gt;
        // to is where we navigate to (route object),&lt;br /&gt;
        // from page where we came from&lt;br /&gt;
        // savePosition stores our last page offset&lt;br /&gt;
        // this function should return where to scroll &lt;br /&gt;
       &lt;br /&gt;
        // console.log(to, from, savedPosition)&lt;br /&gt;
        &lt;br /&gt;
        if (savedPosition){&lt;br /&gt;
                return savedPosition;&lt;br /&gt;
        }else{&lt;br /&gt;
            return {left: 0, top: 0}&lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Navigation Guard - beforeEnter ==&lt;br /&gt;
Es gibt den Navigation Guard in Form der Funktion &amp;#039;&amp;#039;&amp;#039;beforeEnter&amp;#039;&amp;#039;&amp;#039;. Das ist im Prinzip ein Hook. Dieser wird getriggert sobald eine Navigation stattfindet (die Seite sich ändert) und ermöglicht es in die Ausführung einzugreifen. Dies kann man z.B für &amp;#039;&amp;#039;&amp;#039;Authentication&amp;#039;&amp;#039;&amp;#039; nutzen, oder um &amp;#039;&amp;#039;&amp;#039;Änderungen zu tracken&amp;#039;&amp;#039;&amp;#039;, oder um zu verhindern, dass ein Benutzer die &amp;#039;&amp;#039;&amp;#039;Seite ausversehen wechselt&amp;#039;&amp;#039;&amp;#039; bevor er gespeichert hat.&lt;br /&gt;
&lt;br /&gt;
Die Guard Funktion wird aufgerufen sobald eine Navigation stattfindet (Link klicken oder Seite manuell laden) Übergeben werden neben den to und from Argumenten noch ein next argument (Namen sind frei wählbar, Reihenfolge ist wichtig).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// Navigationm Guard&lt;br /&gt;
router.beforeEach(function(to, from, next) {&lt;br /&gt;
    console.log(&amp;quot;Global beforeEach...&amp;quot;);&lt;br /&gt;
    console.log(to, from);&lt;br /&gt;
    next(); // means  true will allow navigation, false will cancel&lt;br /&gt;
    //next(false);&lt;br /&gt;
    //next(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
    //next({ name: &amp;#039;team-members&amp;#039;, params: { teamId: &amp;#039;t2&amp;#039;} })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
next entscheidet, ob die Navigation ausgeführt wird oder nicht. Next enthält true, false oder ein Ziel in Form eines Strings oder Route Objekts. Default ist true wenn kein Parameter angegeben ist.&lt;br /&gt;
&lt;br /&gt;
=== Globale und lokale Navigation Guards ===&lt;br /&gt;
die Funktion beforeEnter kann man auf der router Ebene oder auf der Ebene der einzelnen routes einsetzen. Je nachdem wird sie nur aufgerufen wenn die Route gerendert wird, oder wenn global bei jeder Änderung der Seite (auch beim ersten Aufruf)&lt;br /&gt;
&lt;br /&gt;
Zusätzlich kannst Du lokale Guards auch in einer Komponente definieren. Dann schreibst du &lt;br /&gt;
&lt;br /&gt;
Für Komponenten die z.B. über ein for Schleife wiederverwendet werden gibt es noch den&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;beforeRouteUpdate&amp;#039;&amp;#039;&amp;#039; Hook.&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25161</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25161"/>
		<updated>2021-01-09T01:09:52Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Controlling Scrolling Behaviour - scrollBehaviour */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== Dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;br /&gt;
&lt;br /&gt;
In Kombination mit &amp;lt;router-link&amp;gt; und einem v-bind für das to Argument kann man so auch eine passende Navigation erzeugen:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Ein Problem mit &amp;lt;router-link&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wenn du auf einen dynamischen Link gewechselt hast z.B. auf&lt;br /&gt;
 myDomain.de/teams/t3&lt;br /&gt;
und von dort über einen Link&lt;br /&gt;
 &amp;lt;router-link to=&amp;quot;/teams/t2&amp;quot;&amp;gt;Klick mich&amp;lt;/router-link&amp;gt; &lt;br /&gt;
wechseln möchtest funktioniert dies hier nicht. Das liegt daran, dass wir den Parameter /t2 bzw. teamId im created() Hook verarbeiten. Dieser wird aber nur beim ersten mal wenn die Komponente erstellt wird aufgerufen. Da wir schon in der Komponente sind passiert das nicht erneut und der View wird nicht aktualisiert. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung: Ein watcher&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Zwar wird created() nicht aufgerufen aber das $route Objekt ändert sich sehr wohl. Daher können wir einfach einen Watcher einsetzen, der bei Änderungen des router Objekts anspricht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 watch: {&lt;br /&gt;
    $route(newRoute){&lt;br /&gt;
      this.loadTeamMembers(newRoute);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich bauen wir eine Funktion loadTeamMembers() die wir in methods unterbringen, damit wir den Code nicht mehrmals verwenden müssen (siehe finaler Code unten). Im Watcher können wir die Funktion einfach aufrufen wen das $route Objekt sich ändert.&lt;br /&gt;
&lt;br /&gt;
==== route Parameter als prop ====&lt;br /&gt;
&lt;br /&gt;
Der Ansatz oben hat einen Nachteil: Bisher wird die &amp;#039;&amp;#039;&amp;#039;Komponente nur über einen Aufruf einer bestimmten URL gerendert&amp;#039;&amp;#039;&amp;#039;. Wenn sie als Teil einer Parent-Komponente gerendert wird funktioniert das nicht. Hier wäre es &amp;#039;&amp;#039;&amp;#039;schöner eine Property nutzen zu können&amp;#039;&amp;#039;&amp;#039;. Statt über this.§route könnten wir dann über this.teamId darauf zugreifen.&lt;br /&gt;
&lt;br /&gt;
Das ist einfach möglich indem wir in der route Definition den Parameter props: true hinzufügen. &lt;br /&gt;
 props: true&lt;br /&gt;
Er sorgt dafür, dass das Pfad-Segement in den props der Komponente zur Verfügung steht:&lt;br /&gt;
 props: [&amp;#039;teamId&amp;#039;],&lt;br /&gt;
Auf diese Weise wird die Component vielseitiger einsetzbar und wird etwas einfacher.&lt;br /&gt;
=== redirect, alias ===&lt;br /&gt;
In der Router Konfiguration kann man auch Redirects einsetzen. Zum Beispiel um die Rootseite, die im Moment leer ist (bis auf die Navigation), auf die Teams-Liste zu leiten:&lt;br /&gt;
 { path: &amp;#039;/&amp;#039;, redirect: &amp;#039;/teams&amp;#039;},&lt;br /&gt;
Dies sollte vor der redirect definition stehen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man in der TeamsList Component die Route Seite als Alias. Hierbei bleibt die URL die Selbe aber der Inhalt der Teamsliste wird angezeigt:&lt;br /&gt;
 { path: &amp;#039;/teams&amp;#039;, component: TeamsList, alias: &amp;#039;/&amp;#039; },&lt;br /&gt;
&lt;br /&gt;
=== catch all ===&lt;br /&gt;
Zu guter Letzt möchten wir alle urls abfangen die nicht gehandelt sind. Das kann man mit einem catch all machen. Vue aktzeptiert in der Router Konfiguration auch dynamische Parameter mit Regex Ausdrücken. Daher können wir schreiben&lt;br /&gt;
 { path: &amp;#039;/:notFound(.*)&amp;#039;, component: NotFound}, //.* is regex for any characters&lt;br /&gt;
 //{ path: &amp;#039;/:notFound(.*)&amp;#039;, redirect: &amp;#039;/teams&amp;#039;}, // redirect would be possible too&lt;br /&gt;
&lt;br /&gt;
Das notFound kann auch einen anderen Namen bekommen. Wichtig ist dass wir hier eine Funktion an das path Objekt übergeben an die wir einen regulären Ausdruck übergeben. Diese Route sollte ganz am Ende stehen sonst würde sie die nachfolgenden Überschreiben.&lt;br /&gt;
&lt;br /&gt;
=== Nested Routes ===&lt;br /&gt;
Bisher haben wir /teams und /teams/[teamsId] als separate Routen definiert. Man kann aber die id Route auch als Kind der teams Route definieren. Das hat ein paar Vorteile.&lt;br /&gt;
* Der Router erkennt die Route als Kind und kann allen Parents eine Klasse und dem Kind eine extra Klasse vergeben.&lt;br /&gt;
* Man kann in der Parent Komponent die Kindkomponente als zusätzlichen Content anzeigen. sprich die Members werden zusätzlich in der Teams Liste angezeigt (dazu muss ein zusätzliches &amp;lt;router-view&amp;gt; in die Liste eingefügt werden, damit Vue weiß an welcher Stelle).&lt;br /&gt;
&lt;br /&gt;
So gehts:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
] },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Named Routes ===&lt;br /&gt;
Zusätzlich kann man Routes auch ein name property geben. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ name: &amp;#039;teams&amp;#039;, path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { name: &amp;#039;team-members&amp;#039;, path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann kann man Links auch damit aufrufen. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;router-link :to=&amp;quot;memberPath&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
computed: {&lt;br /&gt;
    memberPath(){&lt;br /&gt;
      //return &amp;#039;/teams/&amp;#039; + this.id;&lt;br /&gt;
      return {&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In diesem Beispiel wird noch das params Argument benötigt, da wir in der Komponente die teamId übergeben müssen. Wir haben jetzt etwas mehr Code aber wir können den Code besser Warten. Wenn sich das Segment &amp;quot;teams&amp;quot; ändert müssen wir das nur noch in der Route Konfiguration machen. Das kann bei größeren Apps eine Überlegung wert sein.&lt;br /&gt;
&lt;br /&gt;
=== URL Query Parameters ===&lt;br /&gt;
Auch GET artige Parameter kann man erzeugen (obwohl das eigentlich keine GET Parameter sind, da wir ja keine GET Anfrage an den Server schicken. Aber man kann Parameter an die URL hängen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
      return {&lt;br /&gt;
        //name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, &lt;br /&gt;
        params: { teamId: this.id },&lt;br /&gt;
        query: {sort: &amp;#039;asc&amp;#039;}&lt;br /&gt;
      }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Und sie in einer Komponente wieder auswerten:&lt;br /&gt;
 console.log(this.$route.query);&lt;br /&gt;
&lt;br /&gt;
== Multiple Routes ==&lt;br /&gt;
Man kann in einer Komponente mehrere &amp;lt;router-view&amp;gt; Tags mit jeweils einer eigenen Komponente nutzen. Dazu muss man&lt;br /&gt;
* Namen für die router-views vergeben also z.b. in App.vue zusätzlich den router-view&lt;br /&gt;
 &amp;lt;router-view name=&amp;quot;footer&amp;quot;&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
* in der Router Konfiguration statt dem component, das components (mitn s) Objekt ersetzen und die Komponentennamen definieren. Dabei übergibt man ein Objekt mit den Namen und den Views bzw. Komponenten&lt;br /&gt;
 components:{ default: TeamsList, footer: TeamsFooter},&lt;br /&gt;
&lt;br /&gt;
== Controlling Scrolling Behaviour - scrollBehaviour ==&lt;br /&gt;
Es gibt ein weiteres Objekt für die Konfiguration des Routers. Das scrollBehaviour Objekt. Es ist kein Kindobjekt von routes sondern ein eigenständiges Objekt wie z.b. history. scrollBehaviour eine Funktion die automatisch 3 Argumente bekommt nämlich auf welcher Seite der User gelandet ist, wo er her kam und an welcher Stelle er zuletzt gescrollt hat. Als Rückgabewert gibt man ein Objekt zurück das angibt wohin man scrollen möchte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
scrollBehavior(to, from, savedPosition){&lt;br /&gt;
        // to is where we navigate to (route object),&lt;br /&gt;
        // from page where we came from&lt;br /&gt;
        // savePosition stores our last page offset&lt;br /&gt;
        // this function should return where to scroll &lt;br /&gt;
       &lt;br /&gt;
        // console.log(to, from, savedPosition)&lt;br /&gt;
        &lt;br /&gt;
        if (savedPosition){&lt;br /&gt;
                return savedPosition;&lt;br /&gt;
        }else{&lt;br /&gt;
            return {left: 0, top: 0}&lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Navigation Guards ==&lt;br /&gt;
Kann man z.B für Authentication nutzen, oder um Änderungen zu tracken, oder um zu verhindern, dass ein Benutzer die Seite ausversehen wechselt bevor er gespeichert hat.&lt;br /&gt;
&lt;br /&gt;
Die Guard Funktion wird aufgerufen sobald eine Navigation stattfindet (Link klicken oder Seite manuell laden) Übergeben werden neben den to und from Argumenten noch ein next argument (Namen sind frei wählbar, Reihenfolge ist wichtig).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// Navigationm Guard&lt;br /&gt;
router.beforeEach(function(to, from, next) {&lt;br /&gt;
    console.log(&amp;quot;Global beforeEach...&amp;quot;);&lt;br /&gt;
    console.log(to, from);&lt;br /&gt;
    next(); // means  true will allow navigation, false will cancel&lt;br /&gt;
    //next(false);&lt;br /&gt;
    //next(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
    //next({ name: &amp;#039;team-members&amp;#039;, params: { teamId: &amp;#039;t2&amp;#039;} })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
next entscheidet, ob die Navigation ausgeführt wird oder nicht. Next enthält true, false oder ein Ziel in Form eines Strings oder Route Objekts. Default ist true wenn kein Parameter angegeben ist.&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Snippets&amp;diff=25160</id>
		<title>Vue - Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Snippets&amp;diff=25160"/>
		<updated>2021-01-09T01:00:50Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Utilities / nützliche Funktionen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
 [[Vue.js]]&lt;br /&gt;
 [[Vue - Basic Concepts]]&lt;br /&gt;
 [[Vue CLI]]&lt;br /&gt;
 [[Vue - Components]]&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
=== Starters ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const app = Vue.createApp({&lt;br /&gt;
  data(){&lt;br /&gt;
    return{&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  methods:{&lt;br /&gt;
  },&lt;br /&gt;
  computed:{&lt;br /&gt;
  },&lt;br /&gt;
  watch:{&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
app.mount(&amp;#039;#assignment&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Starter mit main.js (CLI) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
// Import Main App&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
// Import Global Components&lt;br /&gt;
import BaseBadge from &amp;#039;./components/BaseBadge.vue&amp;#039;;&lt;br /&gt;
import BaseCard from &amp;#039;./components/BaseCard.vue&amp;#039;&lt;br /&gt;
// Create App Instance&lt;br /&gt;
const app = createApp(App);&lt;br /&gt;
// Register Components&lt;br /&gt;
app.component(&amp;#039;base-badge&amp;#039;, BaseBadge);&lt;br /&gt;
app.component(&amp;#039;base-card&amp;#039;, BaseCard)&lt;br /&gt;
// Mount App&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using this in a submethod i.e. Timer ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
watch:{&lt;br /&gt;
  // it is allowed to watch computed properties&lt;br /&gt;
  result(value){&lt;br /&gt;
    const that = this;&lt;br /&gt;
    setTimeout(function(){&lt;br /&gt;
      console.log(&amp;quot;timeout&amp;quot;);&lt;br /&gt;
      that.counter = 0;&lt;br /&gt;
      return 0;&lt;br /&gt;
    },3000); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Toggle Classes ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
data(){ return { boxSelected: false } },&lt;br /&gt;
methods:{ toggleBox(){ this.boxSelected = !this.boxSelected; } }&lt;br /&gt;
//...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div @click=&amp;quot;selectBox()&amp;quot; class=&amp;quot;box&amp;quot; :class=&amp;quot;{ active : boxSelected }&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add and remove items to / from a list ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const app = Vue.createApp({&lt;br /&gt;
  data() {&lt;br /&gt;
    return { &lt;br /&gt;
      enteredGoalValue: &amp;#039;&amp;#039;,&lt;br /&gt;
      goals: []&lt;br /&gt;
     };&lt;br /&gt;
  },&lt;br /&gt;
  methods: {&lt;br /&gt;
    addGoal() {&lt;br /&gt;
      this.goals.push(this.enteredGoalValue);&lt;br /&gt;
      this.enteredGoalValue = &amp;#039;&amp;#039;;&lt;br /&gt;
    },&lt;br /&gt;
    removeGoal(i){&lt;br /&gt;
      console.log(&amp;quot;removeGoal &amp;quot; + i)&lt;br /&gt;
      this.goals.splice(i,1); // splice 1 item at index i &lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
app.mount(&amp;#039;#user-goals&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;section id=&amp;quot;user-goals&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;h2&amp;gt;My course goals&amp;lt;/h2&amp;gt;&lt;br /&gt;
      &amp;lt;input type=&amp;quot;text&amp;quot; v-model=&amp;quot;enteredGoalValue&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;button @click=&amp;quot;addGoal&amp;quot;&amp;gt;Add Goal&amp;lt;/button&amp;gt;&lt;br /&gt;
      &amp;lt;p v-if=&amp;quot;goals.length === 0&amp;quot;&amp;gt;No goals have been added yet - please start adding some!&amp;lt;/p&amp;gt;&lt;br /&gt;
      &amp;lt;ul v-else&amp;gt; &lt;br /&gt;
        &amp;lt;li v-for=&amp;quot;(goal, i) in goals&amp;quot; @click=&amp;quot;removeGoal(i)&amp;quot; :key=&amp;quot;[myID]&amp;quot;&amp;gt;#{{i}} {{goal}}&amp;lt;/li&amp;gt; // use a unique id for key attribute&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Components ===&lt;br /&gt;
==== Component Todos ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mit CLI&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* myComponent.vue Datei erstellen&lt;br /&gt;
* In main.js Import und component Funktion&lt;br /&gt;
* In App.vue Import&lt;br /&gt;
* In myComponent.vue props, emits festlegen&lt;br /&gt;
* In App.vue emits als v-on nutzen&lt;br /&gt;
* In App.vue props als Argumente übergeben&lt;br /&gt;
==== Basic Component ====&lt;br /&gt;
Parent&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;My App&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;learning-resource v-for=&amp;quot;res in storedResources&amp;quot; &lt;br /&gt;
            :key=&amp;quot;res.id&amp;quot;&lt;br /&gt;
            :title=&amp;quot;res.title&amp;quot;&lt;br /&gt;
            :description=&amp;quot;res.description&amp;quot;&lt;br /&gt;
            :link=&amp;quot;res.link&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;/learning-resource&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt; &lt;br /&gt;
import LearningResource from &amp;#039;./components/learning-resources/LearningResource.vue&amp;#039;&lt;br /&gt;
&lt;br /&gt;
export default {&lt;br /&gt;
    components:{&lt;br /&gt;
        LearningResource,&lt;br /&gt;
    },&lt;br /&gt;
    data(){&lt;br /&gt;
        return {&lt;br /&gt;
            storedResources: [&lt;br /&gt;
                {   &lt;br /&gt;
                    id: &amp;#039;official-guide&amp;#039;,&lt;br /&gt;
                    title: &amp;#039;Official Guide&amp;#039;,&lt;br /&gt;
                    description: &amp;#039;The official Vue.js documentation&amp;#039;,&lt;br /&gt;
                    link: &amp;#039;https://vuejs.org&amp;#039;&lt;br /&gt;
                },&lt;br /&gt;
                {&lt;br /&gt;
                    id: &amp;#039;google&amp;#039;,&lt;br /&gt;
                    title: &amp;#039;Google&amp;#039;,&lt;br /&gt;
                    description: &amp;#039;Search for other things...&amp;#039;,&lt;br /&gt;
                    link: &amp;#039;https://google.de&amp;#039;&lt;br /&gt;
                },&lt;br /&gt;
            ]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Child&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
  &amp;lt;h3&amp;gt; {{ title }} &amp;lt;/h3&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;  {{ description }}  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;nav&amp;gt;&lt;br /&gt;
    &amp;lt;a :href=&amp;quot;link&amp;quot;&amp;gt;View resource&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/nav&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
    props: [&amp;#039;title&amp;#039;, &amp;#039;description&amp;#039;, &amp;#039;link&amp;#039;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Slots ===&lt;br /&gt;
Basic Slot&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Send Receive REST Data ===&lt;br /&gt;
Das folgende Beispiel bezieht und sendet JSON Daten von / zu einer Firebase Datenbank. Das Prinzip läßt sich auf alle REST Schnittstellen adaptieren.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
loadExperiences() {&lt;br /&gt;
      this.isLoading = true;&lt;br /&gt;
      this.error = null;&lt;br /&gt;
      fetch(&amp;#039;https://vue-course-http-01-default-rtdb.firebaseio.com/surveys.json&amp;#039;)&lt;br /&gt;
        .then( (response) =&amp;gt; { &lt;br /&gt;
          // is executed when data arrived. Arg response is provided automatically.&lt;br /&gt;
          if (response.ok) {&lt;br /&gt;
            return response.json(); // parse json data and return promise&lt;br /&gt;
          }&lt;br /&gt;
        })&lt;br /&gt;
        .then( (data) =&amp;gt; {&lt;br /&gt;
          // executed when promise returned&lt;br /&gt;
          // hint if we would use function(data) instead of arrow function &lt;br /&gt;
          // the keyword this would not work&lt;br /&gt;
          this.isLoading = false;&lt;br /&gt;
          console.log(&amp;#039;Received Data: &amp;#039;);&lt;br /&gt;
          console.log(data);&lt;br /&gt;
          const results = [];&lt;br /&gt;
          for( const id in data){&lt;br /&gt;
            results.push({ id: id, name: data[id].name, rating: data[id].rating})&lt;br /&gt;
          }&lt;br /&gt;
          this.results = results;&lt;br /&gt;
        })&lt;br /&gt;
        .catch(&lt;br /&gt;
          // catch will be triggered when an error in any of the previous promises occurs&lt;br /&gt;
          // argument error is provided automatically in the function&lt;br /&gt;
          (error) =&amp;gt; {&lt;br /&gt;
            console.log(&amp;#039;Error&amp;#039; + error);&lt;br /&gt;
            this.isLoading = false;&lt;br /&gt;
            this.error = &amp;#039;Failed to fetch data: &amp;#039;  + error;&lt;br /&gt;
          }&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
submitSurvey() {&lt;br /&gt;
      if (this.enteredName === &amp;#039;&amp;#039; || !this.chosenRating) {&lt;br /&gt;
        this.invalidInput = true;&lt;br /&gt;
        return;&lt;br /&gt;
      }&lt;br /&gt;
      this.invalidInput = false;&lt;br /&gt;
&lt;br /&gt;
      // this.$emit(&amp;#039;survey-submit&amp;#039;, {&lt;br /&gt;
      //   userName: this.enteredName,&lt;br /&gt;
      //   rating: this.chosenRating,&lt;br /&gt;
      // });&lt;br /&gt;
      this.error = null;&lt;br /&gt;
      fetch(&amp;#039;https://vue-course-http-01-default-rtdb.firebaseio.com/surveys.json&amp;#039;, {&lt;br /&gt;
        method: &amp;#039;POST&amp;#039;,&lt;br /&gt;
        headers: {&lt;br /&gt;
          &amp;#039;Content-Type&amp;#039;: &amp;#039;application/json&amp;#039;&lt;br /&gt;
        },&lt;br /&gt;
        body: JSON.stringify({&lt;br /&gt;
          name: this.enteredName,&lt;br /&gt;
          rating: this.chosenRating&lt;br /&gt;
        }),&lt;br /&gt;
      })&lt;br /&gt;
      .then( response =&amp;gt; {&lt;br /&gt;
        if (response.ok) {&lt;br /&gt;
          console.log(&amp;quot;We got a valid response from server: &amp;quot; + response);&lt;br /&gt;
        }else{&lt;br /&gt;
          throw new Error(&amp;#039;Could not save data&amp;#039;); &lt;br /&gt;
          // this creates new Error Object which we receive in catch()&lt;br /&gt;
        }&lt;br /&gt;
      })&lt;br /&gt;
      .catch(error =&amp;gt; {&lt;br /&gt;
        console.log(error);&lt;br /&gt;
        this.error = error.message;&lt;br /&gt;
      });&lt;br /&gt;
&lt;br /&gt;
      this.enteredName = &amp;#039;&amp;#039;;&lt;br /&gt;
      this.chosenRating = null;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Utilities / nützliche Funktionen ===&lt;br /&gt;
Normale JavaScript Funktionen die oft nützlich im Zusammenhang mit Vue sind.&lt;br /&gt;
&lt;br /&gt;
Siehe [[JavaScript - Snippets]]&lt;br /&gt;
&lt;br /&gt;
==== Arrays ====&lt;br /&gt;
===== Elemente hinzufügen / entfernen =====&lt;br /&gt;
Gegeben ist ein Array items in der Art &lt;br /&gt;
 [{id: 1, name: Anton, isFavourite: true}, {id: 2, name: Berta},...]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// add to end of array&lt;br /&gt;
this.friends.push(newFriend)&lt;br /&gt;
&lt;br /&gt;
// add to start of array&lt;br /&gt;
this.friends.unshift(newFriend)&lt;br /&gt;
&lt;br /&gt;
// delete item from array via id (will not work with provide/inject data in components)&lt;br /&gt;
deleteItem(id){&lt;br /&gt;
  this.items = this.items.filter( item =&amp;gt; item.id !== sarchId)&lt;br /&gt;
  // filter( filterFunction ) uses filterFunction for every item in items.&lt;br /&gt;
  // If filterFunction returns true the item is kept. item.id !== id returns true for every&lt;br /&gt;
  // item which has NOT the id&lt;br /&gt;
}&lt;br /&gt;
// this works because we change the array directly&lt;br /&gt;
deleteItem(id){&lt;br /&gt;
  const itemIndex = this.items.findIndex(item =&amp;gt; item.id === id)&lt;br /&gt;
  this.items.splice(resIndex, 1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Finden und Suchen =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// find in array and change prop&lt;br /&gt;
const identifiedItem = this.items.find(&lt;br /&gt;
  (item) =&amp;gt; item.id === searchId // the same as function(friend){return friend.id...}&lt;br /&gt;
)&lt;br /&gt;
// filter(callback) - callback is executed on every array (array item) first item match is returned&lt;br /&gt;
identifiedItem.isFavourite = !identifiedItem.isFavourite&lt;br /&gt;
// identifiedItem is a proxy connected to the original items array.&lt;br /&gt;
// thus why we can modify identifiedItems and items will be altered too&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Validierung =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
submitData(){&lt;br /&gt;
  const enteredTitle = this.$refs.titleInput.value;&lt;br /&gt;
  if (enteredTitle.trim() === &amp;#039;&amp;#039;){&lt;br /&gt;
    this.inputIsValid = false;&lt;br /&gt;
    return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sonstiges =====&lt;br /&gt;
&amp;#039;&amp;#039;Underscore Argumente&amp;#039;&amp;#039; - nutze diese wenn du Argumente, die automatisch bereitgestellt werden nicht benötigst. Dann meckert der Compiler nicht:&lt;br /&gt;
 scrollBehavior(to, from, savedPosition){// compiler tells you that you don&amp;#039;t use them}&lt;br /&gt;
 scrollBehavior(_, _2, savedPosition){&lt;br /&gt;
   console.log(savedPosition) // compiler does not complain :-)&lt;br /&gt;
  }&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25159</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25159"/>
		<updated>2021-01-09T00:49:43Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Multiple Routes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== Dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;br /&gt;
&lt;br /&gt;
In Kombination mit &amp;lt;router-link&amp;gt; und einem v-bind für das to Argument kann man so auch eine passende Navigation erzeugen:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Ein Problem mit &amp;lt;router-link&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wenn du auf einen dynamischen Link gewechselt hast z.B. auf&lt;br /&gt;
 myDomain.de/teams/t3&lt;br /&gt;
und von dort über einen Link&lt;br /&gt;
 &amp;lt;router-link to=&amp;quot;/teams/t2&amp;quot;&amp;gt;Klick mich&amp;lt;/router-link&amp;gt; &lt;br /&gt;
wechseln möchtest funktioniert dies hier nicht. Das liegt daran, dass wir den Parameter /t2 bzw. teamId im created() Hook verarbeiten. Dieser wird aber nur beim ersten mal wenn die Komponente erstellt wird aufgerufen. Da wir schon in der Komponente sind passiert das nicht erneut und der View wird nicht aktualisiert. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung: Ein watcher&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Zwar wird created() nicht aufgerufen aber das $route Objekt ändert sich sehr wohl. Daher können wir einfach einen Watcher einsetzen, der bei Änderungen des router Objekts anspricht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 watch: {&lt;br /&gt;
    $route(newRoute){&lt;br /&gt;
      this.loadTeamMembers(newRoute);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich bauen wir eine Funktion loadTeamMembers() die wir in methods unterbringen, damit wir den Code nicht mehrmals verwenden müssen (siehe finaler Code unten). Im Watcher können wir die Funktion einfach aufrufen wen das $route Objekt sich ändert.&lt;br /&gt;
&lt;br /&gt;
==== route Parameter als prop ====&lt;br /&gt;
&lt;br /&gt;
Der Ansatz oben hat einen Nachteil: Bisher wird die &amp;#039;&amp;#039;&amp;#039;Komponente nur über einen Aufruf einer bestimmten URL gerendert&amp;#039;&amp;#039;&amp;#039;. Wenn sie als Teil einer Parent-Komponente gerendert wird funktioniert das nicht. Hier wäre es &amp;#039;&amp;#039;&amp;#039;schöner eine Property nutzen zu können&amp;#039;&amp;#039;&amp;#039;. Statt über this.§route könnten wir dann über this.teamId darauf zugreifen.&lt;br /&gt;
&lt;br /&gt;
Das ist einfach möglich indem wir in der route Definition den Parameter props: true hinzufügen. &lt;br /&gt;
 props: true&lt;br /&gt;
Er sorgt dafür, dass das Pfad-Segement in den props der Komponente zur Verfügung steht:&lt;br /&gt;
 props: [&amp;#039;teamId&amp;#039;],&lt;br /&gt;
Auf diese Weise wird die Component vielseitiger einsetzbar und wird etwas einfacher.&lt;br /&gt;
=== redirect, alias ===&lt;br /&gt;
In der Router Konfiguration kann man auch Redirects einsetzen. Zum Beispiel um die Rootseite, die im Moment leer ist (bis auf die Navigation), auf die Teams-Liste zu leiten:&lt;br /&gt;
 { path: &amp;#039;/&amp;#039;, redirect: &amp;#039;/teams&amp;#039;},&lt;br /&gt;
Dies sollte vor der redirect definition stehen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man in der TeamsList Component die Route Seite als Alias. Hierbei bleibt die URL die Selbe aber der Inhalt der Teamsliste wird angezeigt:&lt;br /&gt;
 { path: &amp;#039;/teams&amp;#039;, component: TeamsList, alias: &amp;#039;/&amp;#039; },&lt;br /&gt;
&lt;br /&gt;
=== catch all ===&lt;br /&gt;
Zu guter Letzt möchten wir alle urls abfangen die nicht gehandelt sind. Das kann man mit einem catch all machen. Vue aktzeptiert in der Router Konfiguration auch dynamische Parameter mit Regex Ausdrücken. Daher können wir schreiben&lt;br /&gt;
 { path: &amp;#039;/:notFound(.*)&amp;#039;, component: NotFound}, //.* is regex for any characters&lt;br /&gt;
 //{ path: &amp;#039;/:notFound(.*)&amp;#039;, redirect: &amp;#039;/teams&amp;#039;}, // redirect would be possible too&lt;br /&gt;
&lt;br /&gt;
Das notFound kann auch einen anderen Namen bekommen. Wichtig ist dass wir hier eine Funktion an das path Objekt übergeben an die wir einen regulären Ausdruck übergeben. Diese Route sollte ganz am Ende stehen sonst würde sie die nachfolgenden Überschreiben.&lt;br /&gt;
&lt;br /&gt;
=== Nested Routes ===&lt;br /&gt;
Bisher haben wir /teams und /teams/[teamsId] als separate Routen definiert. Man kann aber die id Route auch als Kind der teams Route definieren. Das hat ein paar Vorteile.&lt;br /&gt;
* Der Router erkennt die Route als Kind und kann allen Parents eine Klasse und dem Kind eine extra Klasse vergeben.&lt;br /&gt;
* Man kann in der Parent Komponent die Kindkomponente als zusätzlichen Content anzeigen. sprich die Members werden zusätzlich in der Teams Liste angezeigt (dazu muss ein zusätzliches &amp;lt;router-view&amp;gt; in die Liste eingefügt werden, damit Vue weiß an welcher Stelle).&lt;br /&gt;
&lt;br /&gt;
So gehts:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
] },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Named Routes ===&lt;br /&gt;
Zusätzlich kann man Routes auch ein name property geben. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ name: &amp;#039;teams&amp;#039;, path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { name: &amp;#039;team-members&amp;#039;, path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann kann man Links auch damit aufrufen. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;router-link :to=&amp;quot;memberPath&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
computed: {&lt;br /&gt;
    memberPath(){&lt;br /&gt;
      //return &amp;#039;/teams/&amp;#039; + this.id;&lt;br /&gt;
      return {&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In diesem Beispiel wird noch das params Argument benötigt, da wir in der Komponente die teamId übergeben müssen. Wir haben jetzt etwas mehr Code aber wir können den Code besser Warten. Wenn sich das Segment &amp;quot;teams&amp;quot; ändert müssen wir das nur noch in der Route Konfiguration machen. Das kann bei größeren Apps eine Überlegung wert sein.&lt;br /&gt;
&lt;br /&gt;
=== URL Query Parameters ===&lt;br /&gt;
Auch GET artige Parameter kann man erzeugen (obwohl das eigentlich keine GET Parameter sind, da wir ja keine GET Anfrage an den Server schicken. Aber man kann Parameter an die URL hängen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
      return {&lt;br /&gt;
        //name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, &lt;br /&gt;
        params: { teamId: this.id },&lt;br /&gt;
        query: {sort: &amp;#039;asc&amp;#039;}&lt;br /&gt;
      }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Und sie in einer Komponente wieder auswerten:&lt;br /&gt;
 console.log(this.$route.query);&lt;br /&gt;
&lt;br /&gt;
== Multiple Routes ==&lt;br /&gt;
Man kann in einer Komponente mehrere &amp;lt;router-view&amp;gt; Tags mit jeweils einer eigenen Komponente nutzen. Dazu muss man&lt;br /&gt;
* Namen für die router-views vergeben also z.b. in App.vue zusätzlich den router-view&lt;br /&gt;
 &amp;lt;router-view name=&amp;quot;footer&amp;quot;&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
* in der Router Konfiguration statt dem component, das components (mitn s) Objekt ersetzen und die Komponentennamen definieren. Dabei übergibt man ein Objekt mit den Namen und den Views bzw. Komponenten&lt;br /&gt;
 components:{ default: TeamsList, footer: TeamsFooter},&lt;br /&gt;
&lt;br /&gt;
== Controlling Scrolling Behaviour - scrollBehaviour ==&lt;br /&gt;
Es gibt ein weiteres Objekt für die Konfiguration des Routers. Das scrollBehaviour Objekt. Es ist kein Kindobjekt von routes sondern ein eigenständiges Objekt wie z.b. history. scrollBehaviour eine Funktion die automatisch 3 Argumente bekommt nämlich auf welcher Seite der User gelandet ist, wo er her kam und an welcher Stelle er zuletzt gescrollt hat. Als Rückgabewert gibt man ein Objekt zurück das angibt wohin man scrollen möchte:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
scrollBehavior(to, from, savedPosition){&lt;br /&gt;
        // to is where we navigate to (route object),&lt;br /&gt;
        // from page where we came from&lt;br /&gt;
        // savePosition stores our last page offset&lt;br /&gt;
        // this function should return where to scroll &lt;br /&gt;
       &lt;br /&gt;
        // console.log(to, from, savedPosition)&lt;br /&gt;
        &lt;br /&gt;
        if (savedPosition){&lt;br /&gt;
                return savedPosition;&lt;br /&gt;
        }else{&lt;br /&gt;
            return {left: 0, top: 0}&lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25158</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25158"/>
		<updated>2021-01-09T00:29:33Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Named Routes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== Dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;br /&gt;
&lt;br /&gt;
In Kombination mit &amp;lt;router-link&amp;gt; und einem v-bind für das to Argument kann man so auch eine passende Navigation erzeugen:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Ein Problem mit &amp;lt;router-link&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wenn du auf einen dynamischen Link gewechselt hast z.B. auf&lt;br /&gt;
 myDomain.de/teams/t3&lt;br /&gt;
und von dort über einen Link&lt;br /&gt;
 &amp;lt;router-link to=&amp;quot;/teams/t2&amp;quot;&amp;gt;Klick mich&amp;lt;/router-link&amp;gt; &lt;br /&gt;
wechseln möchtest funktioniert dies hier nicht. Das liegt daran, dass wir den Parameter /t2 bzw. teamId im created() Hook verarbeiten. Dieser wird aber nur beim ersten mal wenn die Komponente erstellt wird aufgerufen. Da wir schon in der Komponente sind passiert das nicht erneut und der View wird nicht aktualisiert. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung: Ein watcher&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Zwar wird created() nicht aufgerufen aber das $route Objekt ändert sich sehr wohl. Daher können wir einfach einen Watcher einsetzen, der bei Änderungen des router Objekts anspricht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 watch: {&lt;br /&gt;
    $route(newRoute){&lt;br /&gt;
      this.loadTeamMembers(newRoute);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich bauen wir eine Funktion loadTeamMembers() die wir in methods unterbringen, damit wir den Code nicht mehrmals verwenden müssen (siehe finaler Code unten). Im Watcher können wir die Funktion einfach aufrufen wen das $route Objekt sich ändert.&lt;br /&gt;
&lt;br /&gt;
==== route Parameter als prop ====&lt;br /&gt;
&lt;br /&gt;
Der Ansatz oben hat einen Nachteil: Bisher wird die &amp;#039;&amp;#039;&amp;#039;Komponente nur über einen Aufruf einer bestimmten URL gerendert&amp;#039;&amp;#039;&amp;#039;. Wenn sie als Teil einer Parent-Komponente gerendert wird funktioniert das nicht. Hier wäre es &amp;#039;&amp;#039;&amp;#039;schöner eine Property nutzen zu können&amp;#039;&amp;#039;&amp;#039;. Statt über this.§route könnten wir dann über this.teamId darauf zugreifen.&lt;br /&gt;
&lt;br /&gt;
Das ist einfach möglich indem wir in der route Definition den Parameter props: true hinzufügen. &lt;br /&gt;
 props: true&lt;br /&gt;
Er sorgt dafür, dass das Pfad-Segement in den props der Komponente zur Verfügung steht:&lt;br /&gt;
 props: [&amp;#039;teamId&amp;#039;],&lt;br /&gt;
Auf diese Weise wird die Component vielseitiger einsetzbar und wird etwas einfacher.&lt;br /&gt;
=== redirect, alias ===&lt;br /&gt;
In der Router Konfiguration kann man auch Redirects einsetzen. Zum Beispiel um die Rootseite, die im Moment leer ist (bis auf die Navigation), auf die Teams-Liste zu leiten:&lt;br /&gt;
 { path: &amp;#039;/&amp;#039;, redirect: &amp;#039;/teams&amp;#039;},&lt;br /&gt;
Dies sollte vor der redirect definition stehen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man in der TeamsList Component die Route Seite als Alias. Hierbei bleibt die URL die Selbe aber der Inhalt der Teamsliste wird angezeigt:&lt;br /&gt;
 { path: &amp;#039;/teams&amp;#039;, component: TeamsList, alias: &amp;#039;/&amp;#039; },&lt;br /&gt;
&lt;br /&gt;
=== catch all ===&lt;br /&gt;
Zu guter Letzt möchten wir alle urls abfangen die nicht gehandelt sind. Das kann man mit einem catch all machen. Vue aktzeptiert in der Router Konfiguration auch dynamische Parameter mit Regex Ausdrücken. Daher können wir schreiben&lt;br /&gt;
 { path: &amp;#039;/:notFound(.*)&amp;#039;, component: NotFound}, //.* is regex for any characters&lt;br /&gt;
 //{ path: &amp;#039;/:notFound(.*)&amp;#039;, redirect: &amp;#039;/teams&amp;#039;}, // redirect would be possible too&lt;br /&gt;
&lt;br /&gt;
Das notFound kann auch einen anderen Namen bekommen. Wichtig ist dass wir hier eine Funktion an das path Objekt übergeben an die wir einen regulären Ausdruck übergeben. Diese Route sollte ganz am Ende stehen sonst würde sie die nachfolgenden Überschreiben.&lt;br /&gt;
&lt;br /&gt;
=== Nested Routes ===&lt;br /&gt;
Bisher haben wir /teams und /teams/[teamsId] als separate Routen definiert. Man kann aber die id Route auch als Kind der teams Route definieren. Das hat ein paar Vorteile.&lt;br /&gt;
* Der Router erkennt die Route als Kind und kann allen Parents eine Klasse und dem Kind eine extra Klasse vergeben.&lt;br /&gt;
* Man kann in der Parent Komponent die Kindkomponente als zusätzlichen Content anzeigen. sprich die Members werden zusätzlich in der Teams Liste angezeigt (dazu muss ein zusätzliches &amp;lt;router-view&amp;gt; in die Liste eingefügt werden, damit Vue weiß an welcher Stelle).&lt;br /&gt;
&lt;br /&gt;
So gehts:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
] },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Named Routes ===&lt;br /&gt;
Zusätzlich kann man Routes auch ein name property geben. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ name: &amp;#039;teams&amp;#039;, path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { name: &amp;#039;team-members&amp;#039;, path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann kann man Links auch damit aufrufen. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;router-link :to=&amp;quot;memberPath&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
computed: {&lt;br /&gt;
    memberPath(){&lt;br /&gt;
      //return &amp;#039;/teams/&amp;#039; + this.id;&lt;br /&gt;
      return {&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In diesem Beispiel wird noch das params Argument benötigt, da wir in der Komponente die teamId übergeben müssen. Wir haben jetzt etwas mehr Code aber wir können den Code besser Warten. Wenn sich das Segment &amp;quot;teams&amp;quot; ändert müssen wir das nur noch in der Route Konfiguration machen. Das kann bei größeren Apps eine Überlegung wert sein.&lt;br /&gt;
&lt;br /&gt;
=== URL Query Parameters ===&lt;br /&gt;
Auch GET artige Parameter kann man erzeugen (obwohl das eigentlich keine GET Parameter sind, da wir ja keine GET Anfrage an den Server schicken. Aber man kann Parameter an die URL hängen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
      return {&lt;br /&gt;
        //name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, &lt;br /&gt;
        params: { teamId: this.id },&lt;br /&gt;
        query: {sort: &amp;#039;asc&amp;#039;}&lt;br /&gt;
      }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Und sie in einer Komponente wieder auswerten:&lt;br /&gt;
 console.log(this.$route.query);&lt;br /&gt;
&lt;br /&gt;
== Multiple Routes ==&lt;br /&gt;
Man kann in einer Komponente mehrere &amp;lt;router-view&amp;gt; Tags mit jeweils einer eigenen Komponente nutzen. Dazu muss man&lt;br /&gt;
* Namen für die router-views vergeben also z.b. in App.vue zusätzlich den router-view&lt;br /&gt;
 &amp;lt;router-view name=&amp;quot;footer&amp;quot;&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
* in der Router Konfiguration statt dem component, das components (mitn s) Objekt ersetzen und die Komponentennamen definieren. Dabei übergibt man ein Objekt mit den Namen und den Views bzw. Komponenten&lt;br /&gt;
 components:{ default: TeamsList, footer: TeamsFooter},&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25157</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25157"/>
		<updated>2021-01-09T00:02:49Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* catch all */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== Dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;br /&gt;
&lt;br /&gt;
In Kombination mit &amp;lt;router-link&amp;gt; und einem v-bind für das to Argument kann man so auch eine passende Navigation erzeugen:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Ein Problem mit &amp;lt;router-link&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wenn du auf einen dynamischen Link gewechselt hast z.B. auf&lt;br /&gt;
 myDomain.de/teams/t3&lt;br /&gt;
und von dort über einen Link&lt;br /&gt;
 &amp;lt;router-link to=&amp;quot;/teams/t2&amp;quot;&amp;gt;Klick mich&amp;lt;/router-link&amp;gt; &lt;br /&gt;
wechseln möchtest funktioniert dies hier nicht. Das liegt daran, dass wir den Parameter /t2 bzw. teamId im created() Hook verarbeiten. Dieser wird aber nur beim ersten mal wenn die Komponente erstellt wird aufgerufen. Da wir schon in der Komponente sind passiert das nicht erneut und der View wird nicht aktualisiert. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung: Ein watcher&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Zwar wird created() nicht aufgerufen aber das $route Objekt ändert sich sehr wohl. Daher können wir einfach einen Watcher einsetzen, der bei Änderungen des router Objekts anspricht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 watch: {&lt;br /&gt;
    $route(newRoute){&lt;br /&gt;
      this.loadTeamMembers(newRoute);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich bauen wir eine Funktion loadTeamMembers() die wir in methods unterbringen, damit wir den Code nicht mehrmals verwenden müssen (siehe finaler Code unten). Im Watcher können wir die Funktion einfach aufrufen wen das $route Objekt sich ändert.&lt;br /&gt;
&lt;br /&gt;
==== route Parameter als prop ====&lt;br /&gt;
&lt;br /&gt;
Der Ansatz oben hat einen Nachteil: Bisher wird die &amp;#039;&amp;#039;&amp;#039;Komponente nur über einen Aufruf einer bestimmten URL gerendert&amp;#039;&amp;#039;&amp;#039;. Wenn sie als Teil einer Parent-Komponente gerendert wird funktioniert das nicht. Hier wäre es &amp;#039;&amp;#039;&amp;#039;schöner eine Property nutzen zu können&amp;#039;&amp;#039;&amp;#039;. Statt über this.§route könnten wir dann über this.teamId darauf zugreifen.&lt;br /&gt;
&lt;br /&gt;
Das ist einfach möglich indem wir in der route Definition den Parameter props: true hinzufügen. &lt;br /&gt;
 props: true&lt;br /&gt;
Er sorgt dafür, dass das Pfad-Segement in den props der Komponente zur Verfügung steht:&lt;br /&gt;
 props: [&amp;#039;teamId&amp;#039;],&lt;br /&gt;
Auf diese Weise wird die Component vielseitiger einsetzbar und wird etwas einfacher.&lt;br /&gt;
=== redirect, alias ===&lt;br /&gt;
In der Router Konfiguration kann man auch Redirects einsetzen. Zum Beispiel um die Rootseite, die im Moment leer ist (bis auf die Navigation), auf die Teams-Liste zu leiten:&lt;br /&gt;
 { path: &amp;#039;/&amp;#039;, redirect: &amp;#039;/teams&amp;#039;},&lt;br /&gt;
Dies sollte vor der redirect definition stehen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man in der TeamsList Component die Route Seite als Alias. Hierbei bleibt die URL die Selbe aber der Inhalt der Teamsliste wird angezeigt:&lt;br /&gt;
 { path: &amp;#039;/teams&amp;#039;, component: TeamsList, alias: &amp;#039;/&amp;#039; },&lt;br /&gt;
&lt;br /&gt;
=== catch all ===&lt;br /&gt;
Zu guter Letzt möchten wir alle urls abfangen die nicht gehandelt sind. Das kann man mit einem catch all machen. Vue aktzeptiert in der Router Konfiguration auch dynamische Parameter mit Regex Ausdrücken. Daher können wir schreiben&lt;br /&gt;
 { path: &amp;#039;/:notFound(.*)&amp;#039;, component: NotFound}, //.* is regex for any characters&lt;br /&gt;
 //{ path: &amp;#039;/:notFound(.*)&amp;#039;, redirect: &amp;#039;/teams&amp;#039;}, // redirect would be possible too&lt;br /&gt;
&lt;br /&gt;
Das notFound kann auch einen anderen Namen bekommen. Wichtig ist dass wir hier eine Funktion an das path Objekt übergeben an die wir einen regulären Ausdruck übergeben. Diese Route sollte ganz am Ende stehen sonst würde sie die nachfolgenden Überschreiben.&lt;br /&gt;
&lt;br /&gt;
=== Nested Routes ===&lt;br /&gt;
Bisher haben wir /teams und /teams/[teamsId] als separate Routen definiert. Man kann aber die id Route auch als Kind der teams Route definieren. Das hat ein paar Vorteile.&lt;br /&gt;
* Der Router erkennt die Route als Kind und kann allen Parents eine Klasse und dem Kind eine extra Klasse vergeben.&lt;br /&gt;
* Man kann in der Parent Komponent die Kindkomponente als zusätzlichen Content anzeigen. sprich die Members werden zusätzlich in der Teams Liste angezeigt (dazu muss ein zusätzliches &amp;lt;router-view&amp;gt; in die Liste eingefügt werden, damit Vue weiß an welcher Stelle).&lt;br /&gt;
&lt;br /&gt;
So gehts:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
] },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Named Routes ===&lt;br /&gt;
Zusätzlich kann man Routes auch ein name property geben. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{ name: &amp;#039;teams&amp;#039;, path: &amp;#039;/teams&amp;#039;, component: TeamsList, children: [&lt;br /&gt;
  { name: &amp;#039;team-members&amp;#039;, path: &amp;#039;:teamId&amp;#039;, component: TeamMembers, props: true },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann kann man Links auch damit aufrufen. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;router-link :to=&amp;quot;memberPath&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
computed: {&lt;br /&gt;
    memberPath(){&lt;br /&gt;
      //return &amp;#039;/teams/&amp;#039; + this.id;&lt;br /&gt;
      return {&lt;br /&gt;
        name: &amp;#039;team-members&amp;#039;, params: { teamId: this.id }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In diesem Beispiel wird noch das params Argument benötigt, da wir in der Komponente die teamId übergeben müssen. Wir haben jetzt etwas mehr Code aber wir können den Code besser Warten. Wenn sich das Segment &amp;quot;teams&amp;quot; ändert müssen wir das nur noch in der Route Konfiguration machen. Das kann bei größeren Apps eine Überlegung wert sein.&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25156</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25156"/>
		<updated>2021-01-08T23:15:09Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* redirect &amp;amp; alias */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== Dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;br /&gt;
&lt;br /&gt;
In Kombination mit &amp;lt;router-link&amp;gt; und einem v-bind für das to Argument kann man so auch eine passende Navigation erzeugen:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Ein Problem mit &amp;lt;router-link&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wenn du auf einen dynamischen Link gewechselt hast z.B. auf&lt;br /&gt;
 myDomain.de/teams/t3&lt;br /&gt;
und von dort über einen Link&lt;br /&gt;
 &amp;lt;router-link to=&amp;quot;/teams/t2&amp;quot;&amp;gt;Klick mich&amp;lt;/router-link&amp;gt; &lt;br /&gt;
wechseln möchtest funktioniert dies hier nicht. Das liegt daran, dass wir den Parameter /t2 bzw. teamId im created() Hook verarbeiten. Dieser wird aber nur beim ersten mal wenn die Komponente erstellt wird aufgerufen. Da wir schon in der Komponente sind passiert das nicht erneut und der View wird nicht aktualisiert. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung: Ein watcher&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Zwar wird created() nicht aufgerufen aber das $route Objekt ändert sich sehr wohl. Daher können wir einfach einen Watcher einsetzen, der bei Änderungen des router Objekts anspricht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 watch: {&lt;br /&gt;
    $route(newRoute){&lt;br /&gt;
      this.loadTeamMembers(newRoute);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich bauen wir eine Funktion loadTeamMembers() die wir in methods unterbringen, damit wir den Code nicht mehrmals verwenden müssen (siehe finaler Code unten). Im Watcher können wir die Funktion einfach aufrufen wen das $route Objekt sich ändert.&lt;br /&gt;
&lt;br /&gt;
==== route Parameter als prop ====&lt;br /&gt;
&lt;br /&gt;
Der Ansatz oben hat einen Nachteil: Bisher wird die &amp;#039;&amp;#039;&amp;#039;Komponente nur über einen Aufruf einer bestimmten URL gerendert&amp;#039;&amp;#039;&amp;#039;. Wenn sie als Teil einer Parent-Komponente gerendert wird funktioniert das nicht. Hier wäre es &amp;#039;&amp;#039;&amp;#039;schöner eine Property nutzen zu können&amp;#039;&amp;#039;&amp;#039;. Statt über this.§route könnten wir dann über this.teamId darauf zugreifen.&lt;br /&gt;
&lt;br /&gt;
Das ist einfach möglich indem wir in der route Definition den Parameter props: true hinzufügen. &lt;br /&gt;
 props: true&lt;br /&gt;
Er sorgt dafür, dass das Pfad-Segement in den props der Komponente zur Verfügung steht:&lt;br /&gt;
 props: [&amp;#039;teamId&amp;#039;],&lt;br /&gt;
Auf diese Weise wird die Component vielseitiger einsetzbar und wird etwas einfacher.&lt;br /&gt;
=== redirect, alias ===&lt;br /&gt;
In der Router Konfiguration kann man auch Redirects einsetzen. Zum Beispiel um die Rootseite, die im Moment leer ist (bis auf die Navigation), auf die Teams-Liste zu leiten:&lt;br /&gt;
 { path: &amp;#039;/&amp;#039;, redirect: &amp;#039;/teams&amp;#039;},&lt;br /&gt;
Dies sollte vor der redirect definition stehen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man in der TeamsList Component die Route Seite als Alias. Hierbei bleibt die URL die Selbe aber der Inhalt der Teamsliste wird angezeigt:&lt;br /&gt;
 { path: &amp;#039;/teams&amp;#039;, component: TeamsList, alias: &amp;#039;/&amp;#039; },&lt;br /&gt;
&lt;br /&gt;
=== catch all ===&lt;br /&gt;
Zu guter Letzt möchten wir alle urls abfangen die nicht gehandelt sind. Das kann man mit einem catch all machen. Vue aktzeptiert in der Router Konfiguration auch dynamische Parameter mit Regex Ausdrücken. Daher können wir schreiben&lt;br /&gt;
 { path: &amp;#039;/:notFound(.*)&amp;#039;, component: NotFound}, //.* is regex for any characters&lt;br /&gt;
 //{ path: &amp;#039;/:notFound(.*)&amp;#039;, redirect: &amp;#039;/teams&amp;#039;}, // redirect would be possible too&lt;br /&gt;
&lt;br /&gt;
Das notFound kann auch einen anderen Namen bekommen. Wichtig ist dass wir hier eine Funktion an das path Objekt übergeben an die wir einen regulären Ausdruck übergeben. Diese Route sollte ganz am Ende stehen sonst würde sie die nachfolgenden Überschreiben.&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25155</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25155"/>
		<updated>2021-01-08T22:55:50Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* dynamic routing - $route */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== Dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;br /&gt;
&lt;br /&gt;
In Kombination mit &amp;lt;router-link&amp;gt; und einem v-bind für das to Argument kann man so auch eine passende Navigation erzeugen:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Ein Problem mit &amp;lt;router-link&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wenn du auf einen dynamischen Link gewechselt hast z.B. auf&lt;br /&gt;
 myDomain.de/teams/t3&lt;br /&gt;
und von dort über einen Link&lt;br /&gt;
 &amp;lt;router-link to=&amp;quot;/teams/t2&amp;quot;&amp;gt;Klick mich&amp;lt;/router-link&amp;gt; &lt;br /&gt;
wechseln möchtest funktioniert dies hier nicht. Das liegt daran, dass wir den Parameter /t2 bzw. teamId im created() Hook verarbeiten. Dieser wird aber nur beim ersten mal wenn die Komponente erstellt wird aufgerufen. Da wir schon in der Komponente sind passiert das nicht erneut und der View wird nicht aktualisiert. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung: Ein watcher&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Zwar wird created() nicht aufgerufen aber das $route Objekt ändert sich sehr wohl. Daher können wir einfach einen Watcher einsetzen, der bei Änderungen des router Objekts anspricht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 watch: {&lt;br /&gt;
    $route(newRoute){&lt;br /&gt;
      this.loadTeamMembers(newRoute);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich bauen wir eine Funktion loadTeamMembers() die wir in methods unterbringen, damit wir den Code nicht mehrmals verwenden müssen (siehe finaler Code unten). Im Watcher können wir die Funktion einfach aufrufen wen das $route Objekt sich ändert.&lt;br /&gt;
&lt;br /&gt;
==== route Parameter als prop ====&lt;br /&gt;
&lt;br /&gt;
Der Ansatz oben hat einen Nachteil: Bisher wird die &amp;#039;&amp;#039;&amp;#039;Komponente nur über einen Aufruf einer bestimmten URL gerendert&amp;#039;&amp;#039;&amp;#039;. Wenn sie als Teil einer Parent-Komponente gerendert wird funktioniert das nicht. Hier wäre es &amp;#039;&amp;#039;&amp;#039;schöner eine Property nutzen zu können&amp;#039;&amp;#039;&amp;#039;. Statt über this.§route könnten wir dann über this.teamId darauf zugreifen.&lt;br /&gt;
&lt;br /&gt;
Das ist einfach möglich indem wir in der route Definition den Parameter props: true hinzufügen. &lt;br /&gt;
 props: true&lt;br /&gt;
Er sorgt dafür, dass das Pfad-Segement in den props der Komponente zur Verfügung steht:&lt;br /&gt;
 props: [&amp;#039;teamId&amp;#039;],&lt;br /&gt;
Auf diese Weise wird die Component vielseitiger einsetzbar und wird etwas einfacher.&lt;br /&gt;
=== redirect &amp;amp; alias ===&lt;br /&gt;
In der Router Konfiguration kann man auch Redirects einsetzen. Zum Beispiel um die Rootseite, die im Moment leer ist (bis auf die Navigation), auf die Teams-Liste zu leiten:&lt;br /&gt;
 { path: &amp;#039;/&amp;#039;, redirect: &amp;#039;/teams&amp;#039;},&lt;br /&gt;
Dies sollte vor der redirect definition stehen.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man in der TeamsList Component die Route Seite als Alias. Hierbei bleibt die URL die Selbe aber der Inhalt der Teamsliste wird angezeigt:&lt;br /&gt;
 { path: &amp;#039;/teams&amp;#039;, component: TeamsList, alias: &amp;#039;/&amp;#039; },&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25154</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25154"/>
		<updated>2021-01-08T22:50:18Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* dynamic routing - $route */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;br /&gt;
&lt;br /&gt;
In Kombination mit &amp;lt;router-link&amp;gt; und einem v-bind für das to Argument kann man so auch eine passende Navigation erzeugen:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Ein Problem mit &amp;lt;router-link&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wenn du auf einen dynamischen Link gewechselt hast z.B. auf&lt;br /&gt;
 myDomain.de/teams/t3&lt;br /&gt;
und von dort über einen Link&lt;br /&gt;
 &amp;lt;router-link to=&amp;quot;/teams/t2&amp;quot;&amp;gt;Klick mich&amp;lt;/router-link&amp;gt; &lt;br /&gt;
wechseln möchtest funktioniert dies hier nicht. Das liegt daran, dass wir den Parameter /t2 bzw. teamId im created() Hook verarbeiten. Dieser wird aber nur beim ersten mal wenn die Komponente erstellt wird aufgerufen. Da wir schon in der Komponente sind passiert das nicht erneut und der View wird nicht aktualisiert. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung: Ein watcher&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Zwar wird created() nicht aufgerufen aber das $route Objekt ändert sich sehr wohl. Daher können wir einfach einen Watcher einsetzen, der bei Änderungen des router Objekts anspricht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 watch: {&lt;br /&gt;
    $route(newRoute){&lt;br /&gt;
      this.loadTeamMembers(newRoute);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich bauen wir eine Funktion loadTeamMembers() die wir in methods unterbringen, damit wir den Code nicht mehrmals verwenden müssen (siehe finaler Code unten). Im Watcher können wir die Funktion einfach aufrufen wen das $route Objekt sich ändert.&lt;br /&gt;
&lt;br /&gt;
==== route Parameter als prop ====&lt;br /&gt;
&lt;br /&gt;
Der Ansatz oben hat einen Nachteil: Bisher wird die &amp;#039;&amp;#039;&amp;#039;Komponente nur über einen Aufruf einer bestimmten URL gerendert&amp;#039;&amp;#039;&amp;#039;. Wenn sie als Teil einer Parent-Komponente gerendert wird funktioniert das nicht. Hier wäre es &amp;#039;&amp;#039;&amp;#039;schöner eine Property nutzen zu können&amp;#039;&amp;#039;&amp;#039;. Statt über this.§route könnten wir dann über this.teamId darauf zugreifen.&lt;br /&gt;
&lt;br /&gt;
Das ist einfach möglich indem wir in der route Definition den Parameter props: true hinzufügen. &lt;br /&gt;
 props: true&lt;br /&gt;
Er sorgt dafür, dass das Pfad-Segement in den props der Komponente zur Verfügung steht:&lt;br /&gt;
 props: [&amp;#039;teamId&amp;#039;],&lt;br /&gt;
Auf diese Weise wird die Component vielseitiger einsetzbar und wird etwas einfacher.&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Cloud&amp;diff=25153</id>
		<title>Cloud</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Cloud&amp;diff=25153"/>
		<updated>2021-01-08T21:52:38Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: Die Seite wurde neu angelegt: „== Cloud Hosting ==  https://t3n.de/news/cloud-hosting-anbieter-vergleich-865048/ Vielleicht auch noch interessant:  Kamatera  https://docs.hetzner.com/de/kons…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cloud Hosting ==&lt;br /&gt;
 https://t3n.de/news/cloud-hosting-anbieter-vergleich-865048/&lt;br /&gt;
Vielleicht auch noch interessant:&lt;br /&gt;
 Kamatera&lt;br /&gt;
 https://docs.hetzner.com/de/konsoleh/server-management/faq/installation-of-common-software/#nodejs&lt;br /&gt;
 Netcup: https://www.netcup.de/vserver/reseller_angebote_vserver.php&lt;br /&gt;
 https://de.hostadvice.com/hosting-services/cheap-nodejs-hosting/&lt;br /&gt;
 fastcomet managed cloud lösungen&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=NodeJS&amp;diff=25152</id>
		<title>NodeJS</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=NodeJS&amp;diff=25152"/>
		<updated>2021-01-08T21:24:18Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Links == &lt;br /&gt;
&lt;br /&gt;
 https://nodejs.org/en/&lt;br /&gt;
 [[Webentwicklung mit NodeJS]]&lt;br /&gt;
 https://www.febas.de/support-nodejs/ - nodejs webapps auf normalem webhosting (ungetestet)&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
NodeJS oder node.js bietet &amp;#039;&amp;#039;&amp;#039;Serverseitiges JavaScript&amp;#039;&amp;#039;&amp;#039; für &amp;#039;&amp;#039;&amp;#039;performante WebApps&amp;#039;&amp;#039;&amp;#039;. Es basiert auf Googles V8 JavaScript Engine. &lt;br /&gt;
Damit kommt man vom http Protokoll weg und kann z.B. kleine Server für Multiuserspiele oder Apps für gemeinsamen Zugriff auf Dokumenter bauen. Allerdings unterstützen nicht alle Hoster NodeJS.&lt;br /&gt;
&lt;br /&gt;
Es gibt viele Tools, vor allem bei der Entwicklung von HybridApps und Webapps, die das nutzen können.&lt;br /&gt;
&lt;br /&gt;
Auf dem Mac liegt Node normalerweise in: &lt;br /&gt;
 /usr/local/bin/node&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Entweder über den [[Homebrew Paketmanager für Mac OS X|Paketmanager brew]] oder über den obigen Link runterladen&lt;br /&gt;
Installer installiert npm und node.js&lt;br /&gt;
&lt;br /&gt;
HINWEIS: Wenn du ohnehin Homebrew nutzt, dann auch NodeJS über Homebrew installieren, sonst kann es später Probleme mit Homebrew geben, weil beide das Verzeichnis /usr/local/include/ nutzen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit brew:&lt;br /&gt;
 brew install node&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This package will install:&lt;br /&gt;
	•	Node.js v8.11.3 to /usr/local/bin/node&lt;br /&gt;
	•	npm v5.6.0 to /usr/local/bin/npm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Node Packet Manager ==&lt;br /&gt;
Node enthält den [[npm]] = Node Paket Manager, er dient als command line tool für viele JavaScript basierte Tools, z.b. Cordova, &lt;br /&gt;
&lt;br /&gt;
 [[npm]] was installed at&lt;br /&gt;
 /usr/local/bin/npm&lt;br /&gt;
 Make sure that /usr/local/bin is in your $PATH.&lt;br /&gt;
&lt;br /&gt;
== Tools die mit Node laufen ==&lt;br /&gt;
=== Jade Template Engine ===&lt;br /&gt;
Hinweis: Mittlerweile wurde Jade zur [[Pug Template Engine]]&lt;br /&gt;
Jade ist eine auf node basierte HTML Template Engine, mit der man vereinfachtes html schreiben kann, das dann on the fly in html übersetzt wird. Damit kann man sehr schnell Code entwickeln.&lt;br /&gt;
&lt;br /&gt;
 https://t3n.de/news/jade-638027/&lt;br /&gt;
 [[Jade Template Engine]]&lt;br /&gt;
&lt;br /&gt;
 npm install jade --global&lt;br /&gt;
&lt;br /&gt;
=== Bower ===&lt;br /&gt;
Im Zusammenhang mit NodeJS steht [[Bower]]. Es ist eine unter node.js laufende &amp;#039;&amp;#039;&amp;#039;Paketverwaltung, spezialisiert auf Webentwicklung&amp;#039;&amp;#039;&amp;#039;. Damit lassen sich diverse Tools wie Angular.js oder Frameworks schnell laden oder daraus ein Grundprojekt erstellen.&lt;br /&gt;
&lt;br /&gt;
=== Gulp ===&lt;br /&gt;
* http://gulpjs.com/&lt;br /&gt;
* http://magazin.phlow.de/webdesign/gulp/&lt;br /&gt;
* https://www.liechtenecker.at/front-end-workflow-mit-gulp/&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Tool das unter Node.js läuft ist [[Gulp]]. Gulp ist ein Taskrunner (wie auch Grunt) und dient vor allem zu folgendem.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Bilder&amp;#039;&amp;#039;&amp;#039; – Verlustlose Kompression aller Bilder und Vektoren mit gulp-imagemin&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;HTML – Minifizierung&amp;#039;&amp;#039;&amp;#039; von mit gulp-minify-html&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Javascript&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Überprüfung&amp;#039;&amp;#039;&amp;#039; mit &amp;#039;&amp;#039;gulp-jshint&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Zusammenfassen&amp;#039;&amp;#039;&amp;#039; Javascripte mit &amp;#039;&amp;#039;gulp-concat&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Minifizierung&amp;#039;&amp;#039;&amp;#039; Javascripts mit &amp;#039;&amp;#039;gulp-uglify&amp;#039;&amp;#039;&lt;br /&gt;
CSS&lt;br /&gt;
* Konvertierung der &amp;#039;&amp;#039;&amp;#039;Sass&amp;#039;&amp;#039;&amp;#039;-Datei in eine CSS-Datei mit &amp;#039;&amp;#039;gulp-sass&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Autoprefixer&amp;#039;&amp;#039;&amp;#039;, um alle Vendor Prefixes zu überprüfen mit &amp;#039;&amp;#039;gulp-autoprefixer&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Minifizierung&amp;#039;&amp;#039;&amp;#039; der CSS-Datei mit &amp;#039;&amp;#039;gulp-minify-css&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kopieren&amp;#039;&amp;#039;&amp;#039; aller Dateien in einen Ordner für den Upload&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Überwachung&amp;#039;&amp;#039;&amp;#039; von Dateien auf mögliche Änderungen&lt;br /&gt;
&lt;br /&gt;
[[Gulp]]&lt;br /&gt;
&lt;br /&gt;
=== Grunt ===&lt;br /&gt;
Mit Grunt &amp;#039;&amp;#039;&amp;#039;automatisiert man sich wiederholende Aufgaben bei der Webentwicklung&amp;#039;&amp;#039;&amp;#039;. Grunt ist ein JavaScript-basierter Taskrunner und hilft unter anderem bei der Code-Minifizierung, Code-Kontrolle, Kompilierung, Unit Testing und so weiter.&lt;br /&gt;
&lt;br /&gt;
Es ist damit &amp;#039;&amp;#039;&amp;#039;ähnlich angesiedelt wie Gulp&amp;#039;&amp;#039;&amp;#039;. Allerdings scheint der Einstieg mit Gulp einfacher zu sein und das Konzept schlüssiger.&lt;br /&gt;
&lt;br /&gt;
== Hello World App ==&lt;br /&gt;
How do I start with Node.js after I installed it?&lt;br /&gt;
&lt;br /&gt;
Once you have installed Node, let&amp;#039;s try building our first web server. Create a file named &amp;quot;app.js&amp;quot;, and paste the following code:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const http = require(&amp;#039;http&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
const hostname = &amp;#039;127.0.0.1&amp;#039;;&lt;br /&gt;
const port = 3000;&lt;br /&gt;
&lt;br /&gt;
const server = http.createServer((req, res) =&amp;gt; {&lt;br /&gt;
  res.statusCode = 200;&lt;br /&gt;
  res.setHeader(&amp;#039;Content-Type&amp;#039;, &amp;#039;text/plain&amp;#039;);&lt;br /&gt;
  res.end(&amp;#039;Hello World\n&amp;#039;);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
server.listen(port, hostname, () =&amp;gt; {&lt;br /&gt;
  console.log(`Server running at http://${hostname}:${port}/`);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
After that, run your web server using node app.js, visit &lt;br /&gt;
 http://localhost:3000&lt;br /&gt;
, and you will see a message &amp;#039;Hello World&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== NodeJS deinstallieren ==&lt;br /&gt;
=== NodeJS manual uninstall ===&lt;br /&gt;
Evtl. notwendig wenn man es späteer mit homebrew erledigen will.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Note that not all of the directories listed here may exist on your system depending on your install method.&lt;br /&gt;
&lt;br /&gt;
    Delete node and/or node_modules from /usr/local/lib&lt;br /&gt;
    Delete node and/or node_modules from /usr/local/include&lt;br /&gt;
    Delete node, node-debug, and node-gyp from /usr/local/bin&lt;br /&gt;
    Delete .npmrc from your home directory (these are your npm settings, don&amp;#039;t delete this if you plan on re-installing Node right away)&lt;br /&gt;
    Delete .npm from your home directory&lt;br /&gt;
    Delete .node-gyp from your home directory&lt;br /&gt;
    Delete .node_repl_history from your home directory&lt;br /&gt;
    Delete node* from /usr/local/share/man/man1/&lt;br /&gt;
    Delete npm* from /usr/local/share/man/man1/&lt;br /&gt;
    Delete node.d from /usr/local/lib/dtrace/&lt;br /&gt;
    Delete node from /opt/local/bin/&lt;br /&gt;
    Delete node from /opt/local/include/&lt;br /&gt;
    Delete node_modules from /opt/local/lib/&lt;br /&gt;
    Delete node from /usr/local/share/doc/&lt;br /&gt;
    Delete node.stp from /usr/local/share/systemtap/tapset/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Smart_Home&amp;diff=25151</id>
		<title>Smart Home</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Smart_Home&amp;diff=25151"/>
		<updated>2021-01-08T20:58:48Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Im Bereich Smart Home gibt es zahlreiche Anbieter und Protokolle. Problematisch ist, dass für die Steuerung über das Internet meistens externe Accounts auf den Servern der Anbieter notwendig sind. In diesem Artikel soll es sich darum drehen ein komplett autarkes eigenes Smart Home System aufzubauen.&lt;br /&gt;
&lt;br /&gt;
In der Praxis hat man meist ein internes Protokoll für die Steuerung der Geräte (z.B. ZigBee) und für die externe Steuerumg ein weiteres System. Dazwischen benötigt man ein Gateway.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
 https://www.youtube.com/watch?v=1RV6ZiP79lk Heise Video zum Thema&lt;br /&gt;
 https://nodered.org/&lt;br /&gt;
 https://iot.mozilla.org/&lt;br /&gt;
 https://blog.mozilla.org/berlin/wie-du-dein-eigenes-privates-smart-home-einrichtest/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Haussteuerung ==&lt;br /&gt;
=== ZigBee ===&lt;br /&gt;
Verbreitetes Funkprotokoll z.b. für Phillips Hue...&lt;br /&gt;
=== mqtt ===&lt;br /&gt;
Verbreitetes Protokoll zum verteilen von Nachrichten. Stateless ähnlich wie http.&lt;br /&gt;
&lt;br /&gt;
== Tools für die externe Steuerung (Gateway) ==&lt;br /&gt;
=== Node Red ===&lt;br /&gt;
 https://www.youtube.com/watch?v=1RV6ZiP79lk&lt;br /&gt;
Grafische Oberfläche bei der man sich die Nodes in einem Flussdiagramm zusammenstellen lassen. Hat einen Industriebackground und ist daher robust und es gibt viele Plugins und Module für Anbindungen. Auch eigene Erweiterungen sind möglich.&lt;br /&gt;
&lt;br /&gt;
=== Open Hub ===&lt;br /&gt;
=== FEHM ===&lt;br /&gt;
FHEM (R) ist ein in Perl geschriebener, GPL v2 lizensierter Server für die Heimautomatisierung. Man kann mit FHEM häufig auftretende Aufgaben automatisieren, wie z.B. Lampen / Rollladen / Heizung / usw. schalten, oder Ereignisse wie Temperatur / Feuchtigkeit / Stromverbrauch protokollieren und visualisieren.&lt;br /&gt;
&lt;br /&gt;
Das Programm läuft als Server, man kann es über WEB, dedizierte Smartphone Apps oder telnet bedienen, TCP Schnittstellen für JSON und XML existieren ebenfalls.&lt;br /&gt;
&lt;br /&gt;
Um es zu verwenden, benötigt man einen 24/7 Rechner (NAS, RPi, PC, MacMini, etc) mit einem Perl Interpreter und angeschlossene Interfaces wie CUL-, EnOcean-, Z-Wave-USB-Stick etc. für einen Zugang zu den Aktoren und Sensoren.&lt;br /&gt;
https://wiki.fhem.de/wiki/Hauptseite&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Smart_Home&amp;diff=25150</id>
		<title>Smart Home</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Smart_Home&amp;diff=25150"/>
		<updated>2021-01-08T20:15:24Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Im Bereich Smart Home gibt es zahlreiche Anbieter und Protokolle. Problematisch ist, dass für die Steuerung über das Internet meistens externe Accounts auf den Servern der Anbieter notwendig sind. In diesem Artikel soll es sich darum drehen ein komplett autarkes eigenes Smart Home System aufzubauen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
 https://www.youtube.com/watch?v=1RV6ZiP79lk&lt;br /&gt;
== Tools ==&lt;br /&gt;
=== Node Red ===&lt;br /&gt;
 https://www.youtube.com/watch?v=1RV6ZiP79lk&lt;br /&gt;
Grafische Oberfläche bei der man sich die Nodes in einem Flussdiagramm zusammenstellen lassen. Hat einen Industriebackground und ist daher robust und es gibt viele Plugins und Module für Anbindungen. Auch eigene Erweiterungen sind möglich.&lt;br /&gt;
&lt;br /&gt;
=== Open Hub ===&lt;br /&gt;
=== FEHM ===&lt;br /&gt;
FHEM (R) ist ein in Perl geschriebener, GPL v2 lizensierter Server für die Heimautomatisierung. Man kann mit FHEM häufig auftretende Aufgaben automatisieren, wie z.B. Lampen / Rollladen / Heizung / usw. schalten, oder Ereignisse wie Temperatur / Feuchtigkeit / Stromverbrauch protokollieren und visualisieren.&lt;br /&gt;
&lt;br /&gt;
Das Programm läuft als Server, man kann es über WEB, dedizierte Smartphone Apps oder telnet bedienen, TCP Schnittstellen für JSON und XML existieren ebenfalls.&lt;br /&gt;
&lt;br /&gt;
Um es zu verwenden, benötigt man einen 24/7 Rechner (NAS, RPi, PC, MacMini, etc) mit einem Perl Interpreter und angeschlossene Interfaces wie CUL-, EnOcean-, Z-Wave-USB-Stick etc. für einen Zugang zu den Aktoren und Sensoren.&lt;br /&gt;
https://wiki.fhem.de/wiki/Hauptseite&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Smart_Home&amp;diff=25149</id>
		<title>Smart Home</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Smart_Home&amp;diff=25149"/>
		<updated>2021-01-08T20:11:26Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: Die Seite wurde neu angelegt: „Im Bereich Smart Home gibt es zahlreiche Anbieter und Protokolle. Problematisch ist, dass für die Steuerung über das Internet meistens externe Accounts auf d…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Im Bereich Smart Home gibt es zahlreiche Anbieter und Protokolle. Problematisch ist, dass für die Steuerung über das Internet meistens externe Accounts auf den Servern der Anbieter notwendig sind. In diesem Artikel soll es sich darum drehen ein komplett autarkes eigenes Smart Home System aufzubauen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
=== Node Red ===&lt;br /&gt;
=== Open Hub ===&lt;br /&gt;
=== FEHM ===&lt;br /&gt;
FHEM (R) ist ein in Perl geschriebener, GPL v2 lizensierter Server für die Heimautomatisierung. Man kann mit FHEM häufig auftretende Aufgaben automatisieren, wie z.B. Lampen / Rollladen / Heizung / usw. schalten, oder Ereignisse wie Temperatur / Feuchtigkeit / Stromverbrauch protokollieren und visualisieren.&lt;br /&gt;
&lt;br /&gt;
Das Programm läuft als Server, man kann es über WEB, dedizierte Smartphone Apps oder telnet bedienen, TCP Schnittstellen für JSON und XML existieren ebenfalls.&lt;br /&gt;
&lt;br /&gt;
Um es zu verwenden, benötigt man einen 24/7 Rechner (NAS, RPi, PC, MacMini, etc) mit einem Perl Interpreter und angeschlossene Interfaces wie CUL-, EnOcean-, Z-Wave-USB-Stick etc. für einen Zugang zu den Aktoren und Sensoren.&lt;br /&gt;
https://wiki.fhem.de/wiki/Hauptseite&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25148</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25148"/>
		<updated>2021-01-08T07:18:30Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* dynamic routing - $route */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;br /&gt;
&lt;br /&gt;
In Kombination mit &amp;lt;router-link&amp;gt; und einem v-bind für das to Argument kann man so auch eine passende Navigation erzeugen:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25147</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25147"/>
		<updated>2021-01-08T07:17:27Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Navigation  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Dynamische Links ====&lt;br /&gt;
Für das to Argument können wir auch v-bind nutzen. So kann man es an Properties binden:&lt;br /&gt;
 &amp;lt;router-link :to=&amp;quot;&amp;#039;/teams/&amp;#039; + id&amp;quot;&amp;gt;Members&amp;lt;/router-link&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25146</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25146"/>
		<updated>2021-01-08T07:15:26Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* dynamic routing - $route */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;br /&gt;
&lt;br /&gt;
Im Hook können wir über das $route Objekt auf die aktuelle route zugreifen.&lt;br /&gt;
 console.log($this.route); // shows all route things in the console&lt;br /&gt;
 this.$route.path; // /teams/t1&lt;br /&gt;
 this.$route.params.teamId; //t1&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25145</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25145"/>
		<updated>2021-01-08T06:54:25Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* dynamic routing - $router / $route */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== dynamic routing - $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25144</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25144"/>
		<updated>2021-01-08T06:54:08Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Programmatic routing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing / $router ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== dynamic routing - $router / $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25143</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25143"/>
		<updated>2021-01-08T06:53:45Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* dynamic routing - $router / $route */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== dynamic routing - $router / $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dynamic Route definieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Dynamic Route einsetzen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir gehen davon aus dass wir in App.vue Daten in dieser Art haben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 teams: [&lt;br /&gt;
        { id: &amp;#039;t1&amp;#039;, name: &amp;#039;Frontend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t2&amp;#039;, name: &amp;#039;Backend Engineers&amp;#039;, members: [&amp;#039;u1&amp;#039;, &amp;#039;u2&amp;#039;, &amp;#039;u3&amp;#039;] },&lt;br /&gt;
        { id: &amp;#039;t3&amp;#039;, name: &amp;#039;Client Consulting&amp;#039;, members: [&amp;#039;u4&amp;#039;, &amp;#039;u5&amp;#039;] },&lt;br /&gt;
      ],&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese werden provided, so dass wir sie in einer Kindkomponente injecten können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      teams: this.teams,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TeamMembers.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier sollen die Daten angezeigt werden. Damit die Daten zur Verfügung stehen injecten wir:&lt;br /&gt;
   inject: [&amp;#039;teams&amp;#039;],&lt;br /&gt;
Als nächstes müssen wir herausfinden welches Segement in der URL steht. Das können wir über einen Hook machen.&lt;br /&gt;
 created(){}&lt;br /&gt;
wird ausgeführt, nachdem die Komponente erzeugt wurde, aber bevor sie gerendert wird.&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25142</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25142"/>
		<updated>2021-01-08T06:43:12Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Programmatic routing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;br /&gt;
&lt;br /&gt;
=== dynamic routing - $router / $route ===&lt;br /&gt;
In der Praxis möchte man Pfadsegmente oft dynamisch gestalten. Also z.b. die ID eines Datensatzes nutzen der dann angezeigt werden soll&lt;br /&gt;
 https:/meineDomain.de/teams/team-xyz&lt;br /&gt;
Hier soll z.B. das Team mit der ID team-xyz angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
In der Routing Konfiguration gibt man dafür eine &amp;#039;&amp;#039;&amp;#039;dynamic route&amp;#039;&amp;#039;&amp;#039; mit einem route parameter an.&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;br /&gt;
Mit dem Doppelpunkt wird der Parameter gekennzeichnet. Wenn auf der gleichen Ebene noch ein weiteres nicht-dynamischen Segement verwendet wird muss das vor dem dynamischen stehen.&lt;br /&gt;
&lt;br /&gt;
  { path: &amp;#039;/teams/new&amp;#039;, component: NewMember },&lt;br /&gt;
  { path: &amp;#039;/teams/:teamId&amp;#039;, component: TeamMembers },&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25141</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25141"/>
		<updated>2021-01-07T20:53:10Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Navigation  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Programmatic routing ===&lt;br /&gt;
Über das $router special property kann man auch über den Programmcode navigieren:&lt;br /&gt;
 this.$router.push(&amp;#039;/teams&amp;#039;);&lt;br /&gt;
 //this.$router.back;&lt;br /&gt;
 //this.$router.forward;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25140</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25140"/>
		<updated>2021-01-07T20:38:47Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Navigation  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann. Die Klassennamen lassen sich auch im router-Konfigurationsobjekt anpassen. Z.B&lt;br /&gt;
 linkActiveClass: &amp;#039;active&amp;#039;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25139</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25139"/>
		<updated>2021-01-07T20:35:12Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Navigation  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich liefert router-links auch noch die Klassen &amp;#039;&amp;#039;&amp;#039;router-link-active und router-link-exact-active&amp;#039;&amp;#039;&amp;#039; die man für das Styling nutzen kann.&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25138</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25138"/>
		<updated>2021-01-07T20:32:40Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Navigation  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische &amp;lt;component&amp;gt; steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Mit dem router können wir theoretisch einfach Links setzen, vue-router hat aber eine spezielle Komponente die wir einfach einsetzen können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    &amp;lt;nav&amp;gt;&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          &amp;lt;router-link to=&amp;quot;/teams&amp;quot;&amp;gt;Teams&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
         &amp;lt;router-link to=&amp;quot;/users&amp;quot;&amp;gt;Users&amp;lt;/router-link&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/nav&amp;gt;&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25137</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25137"/>
		<updated>2021-01-07T19:01:03Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;br /&gt;
Wenn es später &amp;quot;not found&amp;quot; compiler warnings gibt versuche:&lt;br /&gt;
 npm install --save vue-router@next&lt;br /&gt;
&lt;br /&gt;
== Router und Routes registrieren ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Router läßt sich so erzeugen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//import { createRouter } from &amp;#039;vue-router&amp;#039;; // without history&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
const router = createRouter();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der app läßt er sich mit &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039; nutzen:&lt;br /&gt;
 app.use(router)&lt;br /&gt;
wobei app eine Vue Instanz ist.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zum router haben wir noch das createWebHistory importiert. Damit kann Vue die BrowserHistory auslesen.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt eine Konfiguration in der wir zumindest die history und die routes bestimmen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: []&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das routes array bekommt später alle Routes die wir nutzen möchten.&lt;br /&gt;
&lt;br /&gt;
Ziel ist im Prinzip eine eigene URL für bestimmte Components zu generieren. Eine Route benötigt also zumindest ein paar Informationen&lt;br /&gt;
* einen &amp;#039;&amp;#039;&amp;#039;Pfad&amp;#039;&amp;#039;&amp;#039; (path) für die URL&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; die gerendert werden soll&lt;br /&gt;
* eine &amp;#039;&amp;#039;&amp;#039;Information an welcher Stelle des Views&amp;#039;&amp;#039;&amp;#039; die Komponente gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Pfad und Komponente lassen sich in der routes Konfiguration angeben. Damit sind unser main.js Code jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import { createRouter, createWebHistory } from &amp;#039;vue-router&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import TeamsList from &amp;#039;./components/teams/TeamsList.vue&amp;#039;;&lt;br /&gt;
import UsersList from &amp;#039;./components/users/UsersList.vue&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
const router = createRouter({&lt;br /&gt;
    history: createWebHistory(), // we use built in browser support&lt;br /&gt;
    routes: [&lt;br /&gt;
        { path: &amp;#039;/teams&amp;#039;, component: TeamsList },&lt;br /&gt;
        { path: &amp;#039;/users&amp;#039;, component: UsersList }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
const app = createApp(App)&lt;br /&gt;
app.use(router);&lt;br /&gt;
&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;router-view&amp;gt; ===&lt;br /&gt;
Nun fehlt noch die Ansicht und die Information wo diese gerendert werden soll. Ohne Routing macht man Ansichten oft über dynamische Komponenten und den &amp;lt;component&amp;gt; Tag.&lt;br /&gt;
 &amp;lt;component :is=&amp;quot;activePage&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
Der vue-router stellt eine eigene component für diesen Zweck zur Verfügung der anstelle verwendet werden kann den router-view:&lt;br /&gt;
 &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ändert sich auch einiges am Code der Komponente. Die in main.js importierten und in routes registrierten Komponenten &amp;#039;&amp;#039;&amp;#039;stehen automatisch zur Verfügung&amp;#039;&amp;#039;&amp;#039; und müssen nicht mehr global oder lokal importiert und auch nicht mehr registriert werden. &lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;the-navigation @set-page=&amp;quot;setActivePage&amp;quot;&amp;gt;&amp;lt;/the-navigation&amp;gt;&lt;br /&gt;
  &amp;lt;main&amp;gt;&lt;br /&gt;
    &amp;lt;router-view&amp;gt;&amp;lt;/router-view&amp;gt;&lt;br /&gt;
  &amp;lt;/main&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wenn wir jetzt die Seite mit &lt;br /&gt;
 myDomain.de/teams&lt;br /&gt;
aufrufen wird an der Stelle von router-view die Komponente TeamsList.vue gerendert.&lt;br /&gt;
&lt;br /&gt;
=== Navigation &amp;lt;router-link&amp;gt;===&lt;br /&gt;
Wenn wir eine Navigation in der Seite haben muss diese ebenfalls anders arbeiten. Klassischerweise hat man eine Property z.b. active Page, die man über buttons o.ä. setzt und darüber eine dynamische component steuert. Mit dabei sind dann oftmals custom events um über mehrere Komponenten hinweg die Variable zu setzen und methods ...&lt;br /&gt;
&lt;br /&gt;
Das&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25136</id>
		<title>Vue - Routing</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Routing&amp;diff=25136"/>
		<updated>2021-01-07T16:18:59Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: Die Seite wurde neu angelegt: „Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.  Auch wenn ich zwischen…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Vue erstellt man oft sogenannte Single Page Applications. D.h. alle Ansichten (Views) sind technisch gesehen auf einer HTML-Seite.&lt;br /&gt;
&lt;br /&gt;
Auch wenn ich zwischen Komponenten oder Ansichten wechlse bleibt daher die URL der Seite immer gleich. Wenn man den Link teilt, landert der User immer auf der Startseite. &lt;br /&gt;
&lt;br /&gt;
Mit dem Routing von Vue kann man für Views eigene URLs zur Verfügung stellen. &amp;#039;&amp;#039;&amp;#039;So dass jede Ansicht der App mit einer eigenen URL repräsentiert werden kann.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Routing in Vue funktioniert mit dem &amp;#039;&amp;#039;&amp;#039;vue-router&amp;#039;&amp;#039;&amp;#039;. Dies ist ein zusätzliches Package des Entwickler Teams, das zunächst in Deinem Projekt installiert werden muss:&lt;br /&gt;
&lt;br /&gt;
 npm install --save vue-router&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue.js&amp;diff=25135</id>
		<title>Vue.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue.js&amp;diff=25135"/>
		<updated>2021-01-07T16:13:51Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
Vue ist ein gutes Framework für WebApps, kann aber auch nur zum Teilrendering eingesetzt werden. Behalte im Blick das Webapps aus Quellcode Sicht problematisch für die Suchmaschinen ist.&lt;br /&gt;
&lt;br /&gt;
Wenn du nicht unbedingt eine Webapp bauen möchtest aber gerne einige Features von Vue nutzen möchtest (2-way-binding...) ist evtl. alpine.js nützlich)&lt;br /&gt;
 [[alpine.js]] - Alternative mit weniger overhead die sich als jQuery mit &amp;quot;deklarativem Ansatz&amp;quot; und inspiriert von Tailwind, Vue etc. sieht. &lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
 [[Vue.js]]&lt;br /&gt;
 [[Vue - Basic Concepts]]&lt;br /&gt;
 [[Vue CLI]]&lt;br /&gt;
 [[Vue - Components]]&lt;br /&gt;
 [[Vue - Routing]]&lt;br /&gt;
 [[Vue - Snippets]]&lt;br /&gt;
&lt;br /&gt;
== Vue In Depth ==&lt;br /&gt;
=== Basic Concepts ===&lt;br /&gt;
 [[Vue - Basic Concepts]]&lt;br /&gt;
=== CLI &amp;amp; Arbeitsumgebung ===&lt;br /&gt;
 [[Vue CLI]]&lt;br /&gt;
=== Components ===&lt;br /&gt;
 [[Vue - Components]]&lt;br /&gt;
&lt;br /&gt;
== Vue Templates ==&lt;br /&gt;
=== Interpolation and Directives ===&lt;br /&gt;
==== Text Interpolation ====&lt;br /&gt;
Die einfachste Form der Interpolation ist Text-Interpolation. Hier wird einfach ein String der in der Component Logic ist ausgegeben. Die Ausgabe erfolgt wenn man den Variablennamen in &amp;#039;&amp;#039;&amp;#039;doppelte geschweifte Klammern&amp;#039;&amp;#039;&amp;#039; setzt. Das geht allerdings &amp;#039;&amp;#039;&amp;#039;nicht in HTML Attributen&amp;#039;&amp;#039;&amp;#039;. In Attributen nutzt man v-bind.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;app&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Skills/&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
import Skills from &amp;#039;./components/Skills.vue&amp;#039;&lt;br /&gt;
&lt;br /&gt;
export default {&lt;br /&gt;
  name: &amp;#039;app&amp;#039;,&lt;br /&gt;
  components: {&lt;br /&gt;
    Skills&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Skills.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;div&amp;gt;&lt;br /&gt;
    {{name}}&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
  name: &amp;#039;Skills&amp;#039;,&lt;br /&gt;
  data(){&lt;br /&gt;
    return{&lt;br /&gt;
      name: &amp;#039;Stephan&amp;#039;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add &amp;quot;scoped&amp;quot; attribute to limit CSS to this component only --&amp;gt;&lt;br /&gt;
&amp;lt;style scoped&amp;gt;&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== Interpolation in Attributen ====&lt;br /&gt;
Boolean Interpolation ,ann man gut für Buttons verwenden. Wir verwenden eine um den Zustand eines Buttons zu verwalten.&lt;br /&gt;
&lt;br /&gt;
Im Templateteil fügen wir hinzu:&lt;br /&gt;
 &amp;lt;button v-on:click=&amp;quot;changeName&amp;quot; v-bind:disabled=&amp;quot;btnState&amp;quot;&amp;gt;Change Name&amp;lt;/button&amp;gt;&lt;br /&gt;
Hier sehen wir auch schon zwei Direktiven von View nämlich v-on und v-bind. Erläuterung folgt später.&lt;br /&gt;
&lt;br /&gt;
Im Skriptteil fügen wir nach der name Eigenschaft eine weitere vom Typ Boolean hinzu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name: &amp;#039;Stephan&amp;#039;,&lt;br /&gt;
btnState: true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wichtig nun: Hier verwenden wir die Eigenschaft btnState in einem Attribut. Hier kann man keine geschweiften Klammern verwenden, aber Vue erkennt automatisch die Variable.&lt;br /&gt;
&lt;br /&gt;
==== Expressions (Ausdrücke) in Interpolation verwenden ====&lt;br /&gt;
&lt;br /&gt;
Man kann auch Conditionals nutzen. Basierend auf dem Code oben fügen wir im Template Teil der Komponente hinzu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{ btnState ? &amp;#039;Button ist aktiv&amp;#039; : &amp;#039;Button ist deaktiviert&amp;#039;}} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Das gibt Button ist deaktiviert aus, da btnState ja auf true steht.&lt;br /&gt;
&lt;br /&gt;
=== Direktiven ===&lt;br /&gt;
Oben haben wir schon zwei Direktiven geseehen, die ein Event festlegen und Binden. Folgende Direktiven gibt es:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    v-text&lt;br /&gt;
    v-html&lt;br /&gt;
    v-show&lt;br /&gt;
    v-if&lt;br /&gt;
    v-else&lt;br /&gt;
    v-else-if&lt;br /&gt;
    v-for&lt;br /&gt;
    v-on&lt;br /&gt;
    v-bind&lt;br /&gt;
    v-model&lt;br /&gt;
    v-pre&lt;br /&gt;
    v-cloak&lt;br /&gt;
    v-once&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Beispiel Direktive v-for ====&lt;br /&gt;
In der Component Skills.vue im Template-Teil&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;skills&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;holder&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
      &amp;lt;li v-for=&amp;quot;(data, index) in skills&amp;quot; :key=&amp;#039;index&amp;#039;&amp;gt;{{index}}. {{data.skill}}&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
und im Script Teil...&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
  name: &amp;#039;Skills&amp;#039;,&lt;br /&gt;
  data(){&lt;br /&gt;
    return{&lt;br /&gt;
      name: &amp;#039;Stephan&amp;#039;,&lt;br /&gt;
      btnState: true,&lt;br /&gt;
      skills: [&lt;br /&gt;
          { &amp;quot;skill&amp;quot;: &amp;quot;Radfahren&amp;quot; },&lt;br /&gt;
          { &amp;quot;skill&amp;quot;: &amp;quot;Schwimmen&amp;quot; }&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== v-if v-else ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;p v-if=&amp;quot;skills.length &amp;gt;= 1&amp;quot;&amp;gt;You have more than 1 skill&amp;lt;/p&amp;gt;&lt;br /&gt;
      &amp;lt;p v-else&amp;gt;You have less than or equal to 1 skill&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Styles und Class Binding ==&lt;br /&gt;
=== Externe CSS Files einbinden ===&lt;br /&gt;
 &amp;lt;style src=&amp;quot;./Skills.css&amp;quot; scoped&amp;gt;&lt;br /&gt;
 &amp;lt;/style&amp;gt;&lt;br /&gt;
=== Class Binding ===&lt;br /&gt;
in skills.js&lt;br /&gt;
 &amp;lt;div v-bind:class=&amp;quot;{ alert: showAlert}&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Setzte die Klasse &amp;#039;&amp;#039;.alert&amp;#039;&amp;#039;, aber &amp;#039;&amp;#039;&amp;#039;nur wenn showAlert true ist&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  data() {&lt;br /&gt;
    return {&lt;br /&gt;
     ... ,&lt;br /&gt;
      showAlert: true  // Add this&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Definiert die Eigenschaft &amp;#039;&amp;#039;showAlert&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Dann noch den Style damit wir etwas sehen können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;style scoped&amp;gt;&lt;br /&gt;
  .alert {&lt;br /&gt;
    background-color: yellow;&lt;br /&gt;
    width:100%;&lt;br /&gt;
    height: 30px;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch der &amp;#039;&amp;#039;&amp;#039;Not Operator&amp;#039;&amp;#039;&amp;#039; funktioiniert: &lt;br /&gt;
 { alert: !showAlert}&lt;br /&gt;
&lt;br /&gt;
Mehrere Klassen und ifs kann man zusammenfassen. Hier wird another-class über die Property showClass gesetzt (in Anführungszeichen wegen dem minus):&lt;br /&gt;
 &amp;lt;div v-bind:class=&amp;quot;{ alert: showAlert, &amp;#039;another-class&amp;#039;: showClass }&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Variante v-bind:class mit Objekt ====&lt;br /&gt;
Man kann den HTML Code sauberer halten, wenn man als Klassenname ein Objekt einsetzt und die Klasse in der Logic implementiert:&lt;br /&gt;
Template&lt;br /&gt;
 &amp;lt;div v-bind:class=&amp;quot;alertObject&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Logic Teil:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
data() {&lt;br /&gt;
    return {&lt;br /&gt;
      skills: [&lt;br /&gt;
          { &amp;quot;skill&amp;quot;: &amp;quot;Vue.js&amp;quot; },&lt;br /&gt;
          { &amp;quot;skill&amp;quot;: &amp;quot;Frontend Developer&amp;quot; }&lt;br /&gt;
      ],&lt;br /&gt;
      alertObject: {&lt;br /&gt;
        alert: true,&lt;br /&gt;
        // More classes here if you want..&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Style Attribut steuern mit Vue Style Binding ====&lt;br /&gt;
Template Teil&lt;br /&gt;
 &amp;lt;div v-bind:style=&amp;quot;{ backgroundColor: bgColor, width: bgWidth, height: bgHeight }&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Logic Teil&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
data() {&lt;br /&gt;
    return {&lt;br /&gt;
      skills: [&lt;br /&gt;
          { &amp;quot;skill&amp;quot;: &amp;quot;Vue.js&amp;quot; },&lt;br /&gt;
          { &amp;quot;skill&amp;quot;: &amp;quot;Frontend Developer&amp;quot; }&lt;br /&gt;
      ],&lt;br /&gt;
      bgColor: &amp;#039;yellow&amp;#039;,&lt;br /&gt;
      bgWidth: &amp;#039;100%&amp;#039;,&lt;br /&gt;
      bgHeight: &amp;#039;30px&amp;#039;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder besser als Objekt: &lt;br /&gt;
Template Teil&lt;br /&gt;
 &amp;lt;div v-bind:style=&amp;quot;alertObject&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Logic Teil&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alertObject: {&lt;br /&gt;
   bgColor: &amp;#039;yellow&amp;#039;,&lt;br /&gt;
   bgWidth: &amp;#039;100%&amp;#039;,&lt;br /&gt;
   bgHeight: &amp;#039;30px&amp;#039;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hinweis: Wir erkennen Objekte in der Regel an den Geschweiften (Wigley) Klammern {}&lt;br /&gt;
&lt;br /&gt;
== User Input und das v-model ==&lt;br /&gt;
... z.B. von Formularen wird vom Template an die Logic weitergereicht, verarbeitet und das Ergebnis wieder ans Template übergeben.&lt;br /&gt;
&lt;br /&gt;
=== Ein Input Feld ===&lt;br /&gt;
In Skills.vue &lt;br /&gt;
&lt;br /&gt;
Template Section:&lt;br /&gt;
 &amp;lt;input type=&amp;quot;text&amp;quot; placeholder=&amp;quot;Enter a skill you have..&amp;quot; v-model=&amp;quot;skill&amp;quot;&amp;gt;&lt;br /&gt;
 {{ skill }}&lt;br /&gt;
Logic Section:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 data(){&lt;br /&gt;
    return{&lt;br /&gt;
      skill: &amp;#039;&amp;#039;,&lt;br /&gt;
      skills: [&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Interessant hier: schon beim eingeben wird {{skill}} befüllt&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
Wir erweitern das Ganze und Implementieren zum ersten Mal eine Methode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
=== Einbinden ===&lt;br /&gt;
Todo&lt;br /&gt;
=== Interessante Plugins ===&lt;br /&gt;
* vee-validate&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Snippets&amp;diff=25134</id>
		<title>Vue - Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Snippets&amp;diff=25134"/>
		<updated>2021-01-07T16:00:42Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Send Receive REST Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
 [[Vue.js]]&lt;br /&gt;
 [[Vue - Basic Concepts]]&lt;br /&gt;
 [[Vue CLI]]&lt;br /&gt;
 [[Vue - Components]]&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
=== Starters ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const app = Vue.createApp({&lt;br /&gt;
  data(){&lt;br /&gt;
    return{&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  methods:{&lt;br /&gt;
  },&lt;br /&gt;
  computed:{&lt;br /&gt;
  },&lt;br /&gt;
  watch:{&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
app.mount(&amp;#039;#assignment&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Starter mit main.js (CLI) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
// Import Main App&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
// Import Global Components&lt;br /&gt;
import BaseBadge from &amp;#039;./components/BaseBadge.vue&amp;#039;;&lt;br /&gt;
import BaseCard from &amp;#039;./components/BaseCard.vue&amp;#039;&lt;br /&gt;
// Create App Instance&lt;br /&gt;
const app = createApp(App);&lt;br /&gt;
// Register Components&lt;br /&gt;
app.component(&amp;#039;base-badge&amp;#039;, BaseBadge);&lt;br /&gt;
app.component(&amp;#039;base-card&amp;#039;, BaseCard)&lt;br /&gt;
// Mount App&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using this in a submethod i.e. Timer ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
watch:{&lt;br /&gt;
  // it is allowed to watch computed properties&lt;br /&gt;
  result(value){&lt;br /&gt;
    const that = this;&lt;br /&gt;
    setTimeout(function(){&lt;br /&gt;
      console.log(&amp;quot;timeout&amp;quot;);&lt;br /&gt;
      that.counter = 0;&lt;br /&gt;
      return 0;&lt;br /&gt;
    },3000); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Toggle Classes ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
data(){ return { boxSelected: false } },&lt;br /&gt;
methods:{ toggleBox(){ this.boxSelected = !this.boxSelected; } }&lt;br /&gt;
//...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div @click=&amp;quot;selectBox()&amp;quot; class=&amp;quot;box&amp;quot; :class=&amp;quot;{ active : boxSelected }&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add and remove items to / from a list ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const app = Vue.createApp({&lt;br /&gt;
  data() {&lt;br /&gt;
    return { &lt;br /&gt;
      enteredGoalValue: &amp;#039;&amp;#039;,&lt;br /&gt;
      goals: []&lt;br /&gt;
     };&lt;br /&gt;
  },&lt;br /&gt;
  methods: {&lt;br /&gt;
    addGoal() {&lt;br /&gt;
      this.goals.push(this.enteredGoalValue);&lt;br /&gt;
      this.enteredGoalValue = &amp;#039;&amp;#039;;&lt;br /&gt;
    },&lt;br /&gt;
    removeGoal(i){&lt;br /&gt;
      console.log(&amp;quot;removeGoal &amp;quot; + i)&lt;br /&gt;
      this.goals.splice(i,1); // splice 1 item at index i &lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
app.mount(&amp;#039;#user-goals&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;section id=&amp;quot;user-goals&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;h2&amp;gt;My course goals&amp;lt;/h2&amp;gt;&lt;br /&gt;
      &amp;lt;input type=&amp;quot;text&amp;quot; v-model=&amp;quot;enteredGoalValue&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;button @click=&amp;quot;addGoal&amp;quot;&amp;gt;Add Goal&amp;lt;/button&amp;gt;&lt;br /&gt;
      &amp;lt;p v-if=&amp;quot;goals.length === 0&amp;quot;&amp;gt;No goals have been added yet - please start adding some!&amp;lt;/p&amp;gt;&lt;br /&gt;
      &amp;lt;ul v-else&amp;gt; &lt;br /&gt;
        &amp;lt;li v-for=&amp;quot;(goal, i) in goals&amp;quot; @click=&amp;quot;removeGoal(i)&amp;quot; :key=&amp;quot;[myID]&amp;quot;&amp;gt;#{{i}} {{goal}}&amp;lt;/li&amp;gt; // use a unique id for key attribute&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Components ===&lt;br /&gt;
==== Component Todos ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mit CLI&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* myComponent.vue Datei erstellen&lt;br /&gt;
* In main.js Import und component Funktion&lt;br /&gt;
* In App.vue Import&lt;br /&gt;
* In myComponent.vue props, emits festlegen&lt;br /&gt;
* In App.vue emits als v-on nutzen&lt;br /&gt;
* In App.vue props als Argumente übergeben&lt;br /&gt;
==== Basic Component ====&lt;br /&gt;
Parent&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;My App&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;learning-resource v-for=&amp;quot;res in storedResources&amp;quot; &lt;br /&gt;
            :key=&amp;quot;res.id&amp;quot;&lt;br /&gt;
            :title=&amp;quot;res.title&amp;quot;&lt;br /&gt;
            :description=&amp;quot;res.description&amp;quot;&lt;br /&gt;
            :link=&amp;quot;res.link&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;/learning-resource&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt; &lt;br /&gt;
import LearningResource from &amp;#039;./components/learning-resources/LearningResource.vue&amp;#039;&lt;br /&gt;
&lt;br /&gt;
export default {&lt;br /&gt;
    components:{&lt;br /&gt;
        LearningResource,&lt;br /&gt;
    },&lt;br /&gt;
    data(){&lt;br /&gt;
        return {&lt;br /&gt;
            storedResources: [&lt;br /&gt;
                {   &lt;br /&gt;
                    id: &amp;#039;official-guide&amp;#039;,&lt;br /&gt;
                    title: &amp;#039;Official Guide&amp;#039;,&lt;br /&gt;
                    description: &amp;#039;The official Vue.js documentation&amp;#039;,&lt;br /&gt;
                    link: &amp;#039;https://vuejs.org&amp;#039;&lt;br /&gt;
                },&lt;br /&gt;
                {&lt;br /&gt;
                    id: &amp;#039;google&amp;#039;,&lt;br /&gt;
                    title: &amp;#039;Google&amp;#039;,&lt;br /&gt;
                    description: &amp;#039;Search for other things...&amp;#039;,&lt;br /&gt;
                    link: &amp;#039;https://google.de&amp;#039;&lt;br /&gt;
                },&lt;br /&gt;
            ]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Child&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
  &amp;lt;h3&amp;gt; {{ title }} &amp;lt;/h3&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;  {{ description }}  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;nav&amp;gt;&lt;br /&gt;
    &amp;lt;a :href=&amp;quot;link&amp;quot;&amp;gt;View resource&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/nav&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
    props: [&amp;#039;title&amp;#039;, &amp;#039;description&amp;#039;, &amp;#039;link&amp;#039;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Slots ===&lt;br /&gt;
Basic Slot&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Send Receive REST Data ===&lt;br /&gt;
Das folgende Beispiel bezieht und sendet JSON Daten von / zu einer Firebase Datenbank. Das Prinzip läßt sich auf alle REST Schnittstellen adaptieren.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
loadExperiences() {&lt;br /&gt;
      this.isLoading = true;&lt;br /&gt;
      this.error = null;&lt;br /&gt;
      fetch(&amp;#039;https://vue-course-http-01-default-rtdb.firebaseio.com/surveys.json&amp;#039;)&lt;br /&gt;
        .then( (response) =&amp;gt; { &lt;br /&gt;
          // is executed when data arrived. Arg response is provided automatically.&lt;br /&gt;
          if (response.ok) {&lt;br /&gt;
            return response.json(); // parse json data and return promise&lt;br /&gt;
          }&lt;br /&gt;
        })&lt;br /&gt;
        .then( (data) =&amp;gt; {&lt;br /&gt;
          // executed when promise returned&lt;br /&gt;
          // hint if we would use function(data) instead of arrow function &lt;br /&gt;
          // the keyword this would not work&lt;br /&gt;
          this.isLoading = false;&lt;br /&gt;
          console.log(&amp;#039;Received Data: &amp;#039;);&lt;br /&gt;
          console.log(data);&lt;br /&gt;
          const results = [];&lt;br /&gt;
          for( const id in data){&lt;br /&gt;
            results.push({ id: id, name: data[id].name, rating: data[id].rating})&lt;br /&gt;
          }&lt;br /&gt;
          this.results = results;&lt;br /&gt;
        })&lt;br /&gt;
        .catch(&lt;br /&gt;
          // catch will be triggered when an error in any of the previous promises occurs&lt;br /&gt;
          // argument error is provided automatically in the function&lt;br /&gt;
          (error) =&amp;gt; {&lt;br /&gt;
            console.log(&amp;#039;Error&amp;#039; + error);&lt;br /&gt;
            this.isLoading = false;&lt;br /&gt;
            this.error = &amp;#039;Failed to fetch data: &amp;#039;  + error;&lt;br /&gt;
          }&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
submitSurvey() {&lt;br /&gt;
      if (this.enteredName === &amp;#039;&amp;#039; || !this.chosenRating) {&lt;br /&gt;
        this.invalidInput = true;&lt;br /&gt;
        return;&lt;br /&gt;
      }&lt;br /&gt;
      this.invalidInput = false;&lt;br /&gt;
&lt;br /&gt;
      // this.$emit(&amp;#039;survey-submit&amp;#039;, {&lt;br /&gt;
      //   userName: this.enteredName,&lt;br /&gt;
      //   rating: this.chosenRating,&lt;br /&gt;
      // });&lt;br /&gt;
      this.error = null;&lt;br /&gt;
      fetch(&amp;#039;https://vue-course-http-01-default-rtdb.firebaseio.com/surveys.json&amp;#039;, {&lt;br /&gt;
        method: &amp;#039;POST&amp;#039;,&lt;br /&gt;
        headers: {&lt;br /&gt;
          &amp;#039;Content-Type&amp;#039;: &amp;#039;application/json&amp;#039;&lt;br /&gt;
        },&lt;br /&gt;
        body: JSON.stringify({&lt;br /&gt;
          name: this.enteredName,&lt;br /&gt;
          rating: this.chosenRating&lt;br /&gt;
        }),&lt;br /&gt;
      })&lt;br /&gt;
      .then( response =&amp;gt; {&lt;br /&gt;
        if (response.ok) {&lt;br /&gt;
          console.log(&amp;quot;We got a valid response from server: &amp;quot; + response);&lt;br /&gt;
        }else{&lt;br /&gt;
          throw new Error(&amp;#039;Could not save data&amp;#039;); &lt;br /&gt;
          // this creates new Error Object which we receive in catch()&lt;br /&gt;
        }&lt;br /&gt;
      })&lt;br /&gt;
      .catch(error =&amp;gt; {&lt;br /&gt;
        console.log(error);&lt;br /&gt;
        this.error = error.message;&lt;br /&gt;
      });&lt;br /&gt;
&lt;br /&gt;
      this.enteredName = &amp;#039;&amp;#039;;&lt;br /&gt;
      this.chosenRating = null;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Utilities / nützliche Funktionen ===&lt;br /&gt;
Normale JavaScript Funktionen die oft nützlich im Zusammenhang mit Vue sind.&lt;br /&gt;
&lt;br /&gt;
Siehe [[JavaScript - Snippets]]&lt;br /&gt;
&lt;br /&gt;
==== Arrays ====&lt;br /&gt;
===== Elemente hinzufügen / entfernen =====&lt;br /&gt;
Gegeben ist ein Array items in der Art &lt;br /&gt;
 [{id: 1, name: Anton, isFavourite: true}, {id: 2, name: Berta},...]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// add to end of array&lt;br /&gt;
this.friends.push(newFriend)&lt;br /&gt;
&lt;br /&gt;
// add to start of array&lt;br /&gt;
this.friends.unshift(newFriend)&lt;br /&gt;
&lt;br /&gt;
// delete item from array via id (will not work with provide/inject data in components)&lt;br /&gt;
deleteItem(id){&lt;br /&gt;
  this.items = this.items.filter( item =&amp;gt; item.id !== sarchId)&lt;br /&gt;
  // filter( filterFunction ) uses filterFunction for every item in items.&lt;br /&gt;
  // If filterFunction returns true the item is kept. item.id !== id returns true for every&lt;br /&gt;
  // item which has NOT the id&lt;br /&gt;
}&lt;br /&gt;
// this works because we change the array directly&lt;br /&gt;
deleteItem(id){&lt;br /&gt;
  const itemIndex = this.items.findIndex(item =&amp;gt; item.id === id)&lt;br /&gt;
  this.items.splice(resIndex, 1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Finden und Suchen =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// find in array and change prop&lt;br /&gt;
const identifiedItem = this.items.find(&lt;br /&gt;
  (item) =&amp;gt; item.id === searchId // the same as function(friend){return friend.id...}&lt;br /&gt;
)&lt;br /&gt;
// filter(callback) - callback is executed on every array (array item) first item match is returned&lt;br /&gt;
identifiedItem.isFavourite = !identifiedItem.isFavourite&lt;br /&gt;
// identifiedItem is a proxy connected to the original items array.&lt;br /&gt;
// thus why we can modify identifiedItems and items will be altered too&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Validierung =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
submitData(){&lt;br /&gt;
  const enteredTitle = this.$refs.titleInput.value;&lt;br /&gt;
  if (enteredTitle.trim() === &amp;#039;&amp;#039;){&lt;br /&gt;
    this.inputIsValid = false;&lt;br /&gt;
    return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Snippets&amp;diff=25133</id>
		<title>Vue - Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Snippets&amp;diff=25133"/>
		<updated>2021-01-07T15:57:15Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Send Receive REST Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
 [[Vue.js]]&lt;br /&gt;
 [[Vue - Basic Concepts]]&lt;br /&gt;
 [[Vue CLI]]&lt;br /&gt;
 [[Vue - Components]]&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
=== Starters ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const app = Vue.createApp({&lt;br /&gt;
  data(){&lt;br /&gt;
    return{&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  methods:{&lt;br /&gt;
  },&lt;br /&gt;
  computed:{&lt;br /&gt;
  },&lt;br /&gt;
  watch:{&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
app.mount(&amp;#039;#assignment&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Starter mit main.js (CLI) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
// Import Main App&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
// Import Global Components&lt;br /&gt;
import BaseBadge from &amp;#039;./components/BaseBadge.vue&amp;#039;;&lt;br /&gt;
import BaseCard from &amp;#039;./components/BaseCard.vue&amp;#039;&lt;br /&gt;
// Create App Instance&lt;br /&gt;
const app = createApp(App);&lt;br /&gt;
// Register Components&lt;br /&gt;
app.component(&amp;#039;base-badge&amp;#039;, BaseBadge);&lt;br /&gt;
app.component(&amp;#039;base-card&amp;#039;, BaseCard)&lt;br /&gt;
// Mount App&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using this in a submethod i.e. Timer ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
watch:{&lt;br /&gt;
  // it is allowed to watch computed properties&lt;br /&gt;
  result(value){&lt;br /&gt;
    const that = this;&lt;br /&gt;
    setTimeout(function(){&lt;br /&gt;
      console.log(&amp;quot;timeout&amp;quot;);&lt;br /&gt;
      that.counter = 0;&lt;br /&gt;
      return 0;&lt;br /&gt;
    },3000); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Toggle Classes ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
data(){ return { boxSelected: false } },&lt;br /&gt;
methods:{ toggleBox(){ this.boxSelected = !this.boxSelected; } }&lt;br /&gt;
//...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div @click=&amp;quot;selectBox()&amp;quot; class=&amp;quot;box&amp;quot; :class=&amp;quot;{ active : boxSelected }&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add and remove items to / from a list ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const app = Vue.createApp({&lt;br /&gt;
  data() {&lt;br /&gt;
    return { &lt;br /&gt;
      enteredGoalValue: &amp;#039;&amp;#039;,&lt;br /&gt;
      goals: []&lt;br /&gt;
     };&lt;br /&gt;
  },&lt;br /&gt;
  methods: {&lt;br /&gt;
    addGoal() {&lt;br /&gt;
      this.goals.push(this.enteredGoalValue);&lt;br /&gt;
      this.enteredGoalValue = &amp;#039;&amp;#039;;&lt;br /&gt;
    },&lt;br /&gt;
    removeGoal(i){&lt;br /&gt;
      console.log(&amp;quot;removeGoal &amp;quot; + i)&lt;br /&gt;
      this.goals.splice(i,1); // splice 1 item at index i &lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
app.mount(&amp;#039;#user-goals&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;section id=&amp;quot;user-goals&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;h2&amp;gt;My course goals&amp;lt;/h2&amp;gt;&lt;br /&gt;
      &amp;lt;input type=&amp;quot;text&amp;quot; v-model=&amp;quot;enteredGoalValue&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;button @click=&amp;quot;addGoal&amp;quot;&amp;gt;Add Goal&amp;lt;/button&amp;gt;&lt;br /&gt;
      &amp;lt;p v-if=&amp;quot;goals.length === 0&amp;quot;&amp;gt;No goals have been added yet - please start adding some!&amp;lt;/p&amp;gt;&lt;br /&gt;
      &amp;lt;ul v-else&amp;gt; &lt;br /&gt;
        &amp;lt;li v-for=&amp;quot;(goal, i) in goals&amp;quot; @click=&amp;quot;removeGoal(i)&amp;quot; :key=&amp;quot;[myID]&amp;quot;&amp;gt;#{{i}} {{goal}}&amp;lt;/li&amp;gt; // use a unique id for key attribute&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Components ===&lt;br /&gt;
==== Component Todos ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mit CLI&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* myComponent.vue Datei erstellen&lt;br /&gt;
* In main.js Import und component Funktion&lt;br /&gt;
* In App.vue Import&lt;br /&gt;
* In myComponent.vue props, emits festlegen&lt;br /&gt;
* In App.vue emits als v-on nutzen&lt;br /&gt;
* In App.vue props als Argumente übergeben&lt;br /&gt;
==== Basic Component ====&lt;br /&gt;
Parent&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;My App&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;learning-resource v-for=&amp;quot;res in storedResources&amp;quot; &lt;br /&gt;
            :key=&amp;quot;res.id&amp;quot;&lt;br /&gt;
            :title=&amp;quot;res.title&amp;quot;&lt;br /&gt;
            :description=&amp;quot;res.description&amp;quot;&lt;br /&gt;
            :link=&amp;quot;res.link&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;/learning-resource&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt; &lt;br /&gt;
import LearningResource from &amp;#039;./components/learning-resources/LearningResource.vue&amp;#039;&lt;br /&gt;
&lt;br /&gt;
export default {&lt;br /&gt;
    components:{&lt;br /&gt;
        LearningResource,&lt;br /&gt;
    },&lt;br /&gt;
    data(){&lt;br /&gt;
        return {&lt;br /&gt;
            storedResources: [&lt;br /&gt;
                {   &lt;br /&gt;
                    id: &amp;#039;official-guide&amp;#039;,&lt;br /&gt;
                    title: &amp;#039;Official Guide&amp;#039;,&lt;br /&gt;
                    description: &amp;#039;The official Vue.js documentation&amp;#039;,&lt;br /&gt;
                    link: &amp;#039;https://vuejs.org&amp;#039;&lt;br /&gt;
                },&lt;br /&gt;
                {&lt;br /&gt;
                    id: &amp;#039;google&amp;#039;,&lt;br /&gt;
                    title: &amp;#039;Google&amp;#039;,&lt;br /&gt;
                    description: &amp;#039;Search for other things...&amp;#039;,&lt;br /&gt;
                    link: &amp;#039;https://google.de&amp;#039;&lt;br /&gt;
                },&lt;br /&gt;
            ]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Child&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
  &amp;lt;h3&amp;gt; {{ title }} &amp;lt;/h3&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;  {{ description }}  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;nav&amp;gt;&lt;br /&gt;
    &amp;lt;a :href=&amp;quot;link&amp;quot;&amp;gt;View resource&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/nav&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
    props: [&amp;#039;title&amp;#039;, &amp;#039;description&amp;#039;, &amp;#039;link&amp;#039;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Slots ===&lt;br /&gt;
Basic Slot&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Send Receive REST Data ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
loadExperiences() {&lt;br /&gt;
      this.isLoading = true;&lt;br /&gt;
      this.error = null;&lt;br /&gt;
      fetch(&amp;#039;https://vue-course-http-01-default-rtdb.firebaseio.com/surveys.json&amp;#039;)&lt;br /&gt;
        .then( (response) =&amp;gt; { &lt;br /&gt;
          // is executed when data arrived. Arg response is provided automatically.&lt;br /&gt;
          if (response.ok) {&lt;br /&gt;
            return response.json(); // parse json data and return promise&lt;br /&gt;
          }&lt;br /&gt;
        })&lt;br /&gt;
        .then( (data) =&amp;gt; {&lt;br /&gt;
          // executed when promise returned&lt;br /&gt;
          // hint if we would use function(data) instead of arrow function &lt;br /&gt;
          // the keyword this would not work&lt;br /&gt;
          this.isLoading = false;&lt;br /&gt;
          console.log(&amp;#039;Received Data: &amp;#039;);&lt;br /&gt;
          console.log(data);&lt;br /&gt;
          const results = [];&lt;br /&gt;
          for( const id in data){&lt;br /&gt;
            results.push({ id: id, name: data[id].name, rating: data[id].rating})&lt;br /&gt;
          }&lt;br /&gt;
          this.results = results;&lt;br /&gt;
        })&lt;br /&gt;
        .catch(&lt;br /&gt;
          // catch will be triggered when an error in any of the previous promises occurs&lt;br /&gt;
          // argument error is provided automatically in the function&lt;br /&gt;
          (error) =&amp;gt; {&lt;br /&gt;
            console.log(&amp;#039;Error&amp;#039; + error);&lt;br /&gt;
            this.isLoading = false;&lt;br /&gt;
            this.error = &amp;#039;Failed to fetch data: &amp;#039;  + error;&lt;br /&gt;
          }&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
submitSurvey() {&lt;br /&gt;
      if (this.enteredName === &amp;#039;&amp;#039; || !this.chosenRating) {&lt;br /&gt;
        this.invalidInput = true;&lt;br /&gt;
        return;&lt;br /&gt;
      }&lt;br /&gt;
      this.invalidInput = false;&lt;br /&gt;
&lt;br /&gt;
      // this.$emit(&amp;#039;survey-submit&amp;#039;, {&lt;br /&gt;
      //   userName: this.enteredName,&lt;br /&gt;
      //   rating: this.chosenRating,&lt;br /&gt;
      // });&lt;br /&gt;
      this.error = null;&lt;br /&gt;
      fetch(&amp;#039;https://vue-course-http-01-default-rtdb.firebaseio.com/surveys.json&amp;#039;, {&lt;br /&gt;
        method: &amp;#039;POST&amp;#039;,&lt;br /&gt;
        headers: {&lt;br /&gt;
          &amp;#039;Content-Type&amp;#039;: &amp;#039;application/json&amp;#039;&lt;br /&gt;
        },&lt;br /&gt;
        body: JSON.stringify({&lt;br /&gt;
          name: this.enteredName,&lt;br /&gt;
          rating: this.chosenRating&lt;br /&gt;
        }),&lt;br /&gt;
      })&lt;br /&gt;
      .then( response =&amp;gt; {&lt;br /&gt;
        if (response.ok) {&lt;br /&gt;
          console.log(&amp;quot;We got a valid response from server: &amp;quot; + response);&lt;br /&gt;
        }else{&lt;br /&gt;
          throw new Error(&amp;#039;Could not save data&amp;#039;); &lt;br /&gt;
          // this creates new Error Object which we receive in catch()&lt;br /&gt;
        }&lt;br /&gt;
      })&lt;br /&gt;
      .catch(error =&amp;gt; {&lt;br /&gt;
        console.log(error);&lt;br /&gt;
        this.error = error.message;&lt;br /&gt;
      });&lt;br /&gt;
&lt;br /&gt;
      this.enteredName = &amp;#039;&amp;#039;;&lt;br /&gt;
      this.chosenRating = null;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Utilities / nützliche Funktionen ===&lt;br /&gt;
Normale JavaScript Funktionen die oft nützlich im Zusammenhang mit Vue sind.&lt;br /&gt;
&lt;br /&gt;
Siehe [[JavaScript - Snippets]]&lt;br /&gt;
&lt;br /&gt;
==== Arrays ====&lt;br /&gt;
===== Elemente hinzufügen / entfernen =====&lt;br /&gt;
Gegeben ist ein Array items in der Art &lt;br /&gt;
 [{id: 1, name: Anton, isFavourite: true}, {id: 2, name: Berta},...]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// add to end of array&lt;br /&gt;
this.friends.push(newFriend)&lt;br /&gt;
&lt;br /&gt;
// add to start of array&lt;br /&gt;
this.friends.unshift(newFriend)&lt;br /&gt;
&lt;br /&gt;
// delete item from array via id (will not work with provide/inject data in components)&lt;br /&gt;
deleteItem(id){&lt;br /&gt;
  this.items = this.items.filter( item =&amp;gt; item.id !== sarchId)&lt;br /&gt;
  // filter( filterFunction ) uses filterFunction for every item in items.&lt;br /&gt;
  // If filterFunction returns true the item is kept. item.id !== id returns true for every&lt;br /&gt;
  // item which has NOT the id&lt;br /&gt;
}&lt;br /&gt;
// this works because we change the array directly&lt;br /&gt;
deleteItem(id){&lt;br /&gt;
  const itemIndex = this.items.findIndex(item =&amp;gt; item.id === id)&lt;br /&gt;
  this.items.splice(resIndex, 1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Finden und Suchen =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// find in array and change prop&lt;br /&gt;
const identifiedItem = this.items.find(&lt;br /&gt;
  (item) =&amp;gt; item.id === searchId // the same as function(friend){return friend.id...}&lt;br /&gt;
)&lt;br /&gt;
// filter(callback) - callback is executed on every array (array item) first item match is returned&lt;br /&gt;
identifiedItem.isFavourite = !identifiedItem.isFavourite&lt;br /&gt;
// identifiedItem is a proxy connected to the original items array.&lt;br /&gt;
// thus why we can modify identifiedItems and items will be altered too&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Validierung =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
submitData(){&lt;br /&gt;
  const enteredTitle = this.$refs.titleInput.value;&lt;br /&gt;
  if (enteredTitle.trim() === &amp;#039;&amp;#039;){&lt;br /&gt;
    this.inputIsValid = false;&lt;br /&gt;
    return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Authentication&amp;diff=25132</id>
		<title>Authentication</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Authentication&amp;diff=25132"/>
		<updated>2021-01-07T13:49:31Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: Die Seite wurde neu angelegt: „Infos zur Authentifizierung im IT Bereich  ==2FA== Two factor authentication.  https://thomas-leister.de/authentifizierungsverfahren-des-yubikeys-erklaert/“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Infos zur Authentifizierung im IT Bereich&lt;br /&gt;
&lt;br /&gt;
==2FA==&lt;br /&gt;
Two factor authentication.&lt;br /&gt;
 https://thomas-leister.de/authentifizierungsverfahren-des-yubikeys-erklaert/&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Firebase&amp;diff=25127</id>
		<title>Firebase</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Firebase&amp;diff=25127"/>
		<updated>2021-01-06T13:56:32Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: Die Seite wurde neu angelegt: „Firebase ist ein Service von Google mit dem man auf einfache Weise ein Backend für Webservices erzeugen kann.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Firebase ist ein Service von Google mit dem man auf einfache Weise ein Backend für Webservices erzeugen kann.&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Components&amp;diff=25126</id>
		<title>Vue - Components</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Components&amp;diff=25126"/>
		<updated>2021-01-06T13:37:24Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Custom Form Control */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Siehe auch &lt;br /&gt;
 [[Vue.js]]&lt;br /&gt;
 [[Vue CLI]]&lt;br /&gt;
&lt;br /&gt;
Components sind &amp;#039;&amp;#039;&amp;#039;wiederverwendbare Logikbausteine&amp;#039;&amp;#039;&amp;#039;. Du kannst damit z.B. Logik so Kapseln, dass sie nicht durch andere Ereignisse oder Eigenschaften beeinflusst wird. &lt;br /&gt;
&lt;br /&gt;
Durch die Aufteilung einer großen App in kleinere Bausteine wird sie weniger fehleranfällig und leichter wartbar und die Entwicklung gerade bei größeren Apps effektiver.&lt;br /&gt;
&lt;br /&gt;
Eine Component sieht im Template &amp;#039;&amp;#039;&amp;#039;wie ein neuer Tag&amp;#039;&amp;#039;&amp;#039; aus. Damit es keine &amp;#039;&amp;#039;&amp;#039;Namenskonflikte&amp;#039;&amp;#039;&amp;#039; gibt verwendest Du als Name am Besten eine Bezeichnung mit zwei Worten und Bindestrich &amp;lt;contact-details&amp;gt;. Dies kommmt bei normalen Tags nicht vor.&lt;br /&gt;
&lt;br /&gt;
Definiert wird eine Komponente mit der component() Methode. Technisch gesehen ist eine Komponente eine &amp;#039;&amp;#039;&amp;#039;App in einer App&amp;#039;&amp;#039;&amp;#039;. Daher erzeugt man sie auch ganz ähnlich:&lt;br /&gt;
&lt;br /&gt;
 const app = Vue.createApp({ //... }) // creation of an app&lt;br /&gt;
 app.component(&amp;#039;single-contact&amp;#039;, { //... }) // creation of a component in this app&lt;br /&gt;
&lt;br /&gt;
Im ersten Argument definiert man den Namen über den später als Tag (&amp;lt;single-contact&amp;gt;) zugegriffen werden kann. Im zweiten Argument übergibt man ein Objekt, dass wiederum eigene data, methods... Objekte enthalten kann die aber nur für diese Komponente gelten.&lt;br /&gt;
&lt;br /&gt;
== Component Template ==&lt;br /&gt;
Die Component ist also eine Art Mini-App in der Hauptapp. Sie benötigt wie eine App ein Template. Es gibt mehrere Möglichkeiten das Template zu übergeben.&lt;br /&gt;
&lt;br /&gt;
=== template Object ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
app.component(&amp;#039;friend-contact&amp;#039;, {&lt;br /&gt;
    template: ` &lt;br /&gt;
    &amp;lt;li&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;{{friend.name}}&amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;button @click=&amp;quot;toggleDetails()&amp;quot;&amp;gt;Show Details&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;ul v-if=&amp;quot;detailsVisible&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Phone:&amp;lt;/strong&amp;gt; {{friend.phone}} &amp;lt;/li&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Email:&amp;lt;/strong&amp;gt; {{friend.email}} &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
    `,// backticks allow multiline code&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quickstart - Component mit CLI ==&lt;br /&gt;
Wenn man mit Components arbeitet bietet sich auch die Arbeit mit dem [[Vue CLI]] an. In Kurzform die Schritte die Du benötigst um eine Vue App und Komponenten zu nutzen.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Komponente erstellen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;components/MyComponent.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;lt;template&amp;gt; Abschnitt&lt;br /&gt;
** &amp;lt;script&amp;gt;export default{}&amp;lt;/script&amp;gt; Abschnitt &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Komponente in Main App registrieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;App.vue&amp;#039;&amp;#039;&amp;#039; erstellen&lt;br /&gt;
** &amp;lt;template&amp;gt; und &amp;lt;script&amp;gt; wie oben erstellen&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;main.js&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** createApp wird beim Erstellen schon eingefügt&lt;br /&gt;
** Hauptapp (i.d.R. App.vue) importieren&lt;br /&gt;
** Config Oject der Komponenten importieren &lt;br /&gt;
** app Instanz über createApp erzeugen&lt;br /&gt;
** mit Funktion components in App Instanz registrieren&lt;br /&gt;
** App mounten&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Daten aus Main App senden &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Daten definieren und im custom-tag binden&lt;br /&gt;
* in der Komponente als props nutzen&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Daten aus Komponente an Main App senden &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* data() der App definieren&lt;br /&gt;
* Funktion mit this.$emit(&amp;#039;my-emitter&amp;#039;) definieren&lt;br /&gt;
* Optional (good practice) in emits: [&amp;#039;my-emitter] listen&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import MyComponent from &amp;#039;./components/MyComponent.vue&amp;#039;;&lt;br /&gt;
// ...&lt;br /&gt;
&lt;br /&gt;
const app = createApp(App);&lt;br /&gt;
app.component(&amp;#039;my-component&amp;#039;, MyComponent); // always use dashed names thus they can&amp;#039;t clash with existing html names&lt;br /&gt;
// ...&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;The App&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;my-component&amp;gt;&amp;lt;/my-component&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
import MyComponent from &amp;#039;./components/MyComponent.vue&amp;#039;&lt;br /&gt;
export default {&lt;br /&gt;
    components: {&lt;br /&gt;
        ActiveUser,&lt;br /&gt;
        UserData&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Single File Components mit Vue CLI ==&lt;br /&gt;
Wenn man größere Apps bauen und effektiv mit Components arbeiten möchte hilft das Vue CLI und ein Development Setup mit Node.js und npm. Die folgenden Beispiele nutzen Single File Components. Schau unter&lt;br /&gt;
 [[Vue CLI]]&lt;br /&gt;
nach wenn du nicht weißt wie man ein solches Setup aufbaut.&lt;br /&gt;
&lt;br /&gt;
== Component Communication ==&lt;br /&gt;
=== Parent - Child Communication mit props ===&lt;br /&gt;
 https://v3.vuejs.org/guide/component-props.html&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mit props sendest Du Daten von der Parent App an die Child Component.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue - &amp;lt;template&amp;gt; der Eltern App.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
         &amp;lt;friend-contact &lt;br /&gt;
         name=&amp;quot;Stephan&amp;quot; &lt;br /&gt;
         phone-number=&amp;quot;123&amp;quot; &lt;br /&gt;
         email-address=&amp;quot;my@email.tld&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;/friend-contact&amp;gt;&lt;br /&gt;
        &amp;lt;friend-contact &lt;br /&gt;
         name=&amp;quot;Finn&amp;quot; &lt;br /&gt;
         phone-number=&amp;quot;345&amp;quot; &lt;br /&gt;
         email-address=&amp;quot;my@mymail.tld&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;/friend-contact&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;FriendContact.vue - &amp;lt;script&amp;gt; - Child App&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
props:[&lt;br /&gt;
  &amp;#039;name&amp;#039;, &amp;#039;phoneNumber&amp;#039;, &amp;#039;emailAddress&amp;#039;&lt;br /&gt;
],&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;FriendContact.vue - &amp;lt;template&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;{{name}}&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;button @click=&amp;quot;toggleDetails&amp;quot;&amp;gt; {{detailsVisible ? &amp;#039;Hide&amp;#039; : &amp;#039;Show&amp;#039;}} Details &amp;lt;/button&amp;gt;&lt;br /&gt;
  &amp;lt;ul v-if=&amp;quot;detailsVisible&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Phone: &amp;lt;/strong&amp;gt;{{phoneNumber}}&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Email: &amp;lt;/strong&amp;gt;{{emailAddress}}&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das &amp;#039;&amp;#039;&amp;#039;props Objekt in der Komponente&amp;#039;&amp;#039;&amp;#039; definiert welche Attribute die Komponente akzeptiert und erwartet. Im der Parent App übergibt man die Daten für diese props einfach als Attribute.&lt;br /&gt;
* werden in props der component als &amp;#039;&amp;#039;camelCase&amp;#039;&amp;#039; , stehen aber als &amp;#039;&amp;#039;kebab-case&amp;#039;&amp;#039; im HTML zur Verfügung (du solltest sie auch so verwenden)&lt;br /&gt;
* props stehen mit &amp;#039;&amp;#039;this.myProp&amp;#039;&amp;#039; auch in Methoden etc. zur Verfügung&lt;br /&gt;
&lt;br /&gt;
==== Unidirectional Data Flow ====&lt;br /&gt;
Daten die an die Kind App übertragen werden &amp;#039;&amp;#039;&amp;#039;dürfen nicht mehr verändert werden&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Beispiel: Wenn Du eine prop isFavourite hast und Sie über einen Toggle Button verändern willst kannst du das nicht in der Child App verändern weil die Daten nur von Parent nach Child fließen dürfen. Vue gibt einen Fehler aus.&lt;br /&gt;
&lt;br /&gt;
Es gibt zwei Strategien die man anwenden kann:&lt;br /&gt;
* Daten zurück an Parent übertragen (siehe unten)&lt;br /&gt;
* Daten nutzen um eine Komponentenvariable zu initialisieren und diese verändern.&lt;br /&gt;
&lt;br /&gt;
==== Props Object ====&lt;br /&gt;
Anstatt einem Array kann man auch Objekte übertragen. Darin kann man einige &amp;#039;&amp;#039;&amp;#039;Zusatzinformationen&amp;#039;&amp;#039;&amp;#039; unterbringen. Das ist vor allem bei großen Projekten vlt. mit mehreren Programmierern sinnvoll um Komponenten zuverlässiger zu machen. Die zusätzlichen Properties sind festgelegt: type, required&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
props:[&amp;#039;name&amp;#039;, &amp;#039;phoneNumber&amp;#039;, &amp;#039;emailAddress&amp;#039;], // Array&lt;br /&gt;
props:{ name: String, phoneNumber: String, emailAddress: String, }, // Object mit Type &lt;br /&gt;
props:{&lt;br /&gt;
  name: { type: String, required: false},&lt;br /&gt;
  isFavourite: { &lt;br /&gt;
    type: String, &lt;br /&gt;
    required: false, &lt;br /&gt;
    default: &amp;#039;0&amp;#039;, // could also be a function: function(){ return: &amp;#039;1&amp;#039;},&lt;br /&gt;
    validator: function(value){ return value === &amp;#039;0&amp;#039; || value === &amp;#039;1&amp;#039; }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mit den zusätzlichen Infos kann vue in der Konsole Fehler ausgeben oder du kannst selber Auswertungen der Daten in der Komponente vornehmen. Erlaubte Types sind:&lt;br /&gt;
 String, Number, Boolean, Array, Object, Date, Function, Symbol&lt;br /&gt;
But type can also be any constructor function (built-in ones like Date or custom ones).&lt;br /&gt;
&lt;br /&gt;
==== Props mit dynamischen Daten nutzen ====&lt;br /&gt;
Um Props dynamisch zu nutzen kann man sie einfach mit v-bind (oder : ) an Daten binden und mit v-for durchlaufen. Plicht ist jetzt das key Attribut in die man eine eindeutige id geben muss.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
friends:[&lt;br /&gt;
{&lt;br /&gt;
  id: &amp;#039;yvonne&amp;#039;,&lt;br /&gt;
  name: &amp;#039;Yvonne Oßwald&amp;#039;,&lt;br /&gt;
  phone: &amp;#039;49 123 456&amp;#039;,&lt;br /&gt;
  email: &amp;#039;post@yvonneosswals.de&amp;#039;,&lt;br /&gt;
  isFavourite: false&lt;br /&gt;
},&lt;br /&gt;
//...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;in &amp;lt;template&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;friend-contact &lt;br /&gt;
    v-for=&amp;quot;friend in friends&amp;quot;&lt;br /&gt;
    :key=&amp;quot;friend.id&amp;quot;&lt;br /&gt;
    :name=&amp;quot;friend.name&amp;quot; &lt;br /&gt;
    :phone-number=&amp;quot;friend.phone&amp;quot; &lt;br /&gt;
    :email-address=&amp;quot;friend.email&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;/friend-contact&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Komponente&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;{{name}} {{friendIsFavourite ? &amp;#039;(*)&amp;#039; : &amp;#039;&amp;#039;}}&amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;button @click=&amp;quot;toggleFavourite&amp;quot;&amp;gt;Toggle Favourite&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button @click=&amp;quot;toggleDetails&amp;quot;&amp;gt; {{detailsVisible ? &amp;#039;Hide&amp;#039; : &amp;#039;Show&amp;#039;}} Details &amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;ul v-if=&amp;quot;detailsVisible&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Phone: &amp;lt;/strong&amp;gt;{{phoneNumber}}&amp;lt;/li&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Email: &amp;lt;/strong&amp;gt;{{emailAddress}}&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 props:{&lt;br /&gt;
        name: String,&lt;br /&gt;
        phoneNumber: String,&lt;br /&gt;
        emailAddress: String,&lt;br /&gt;
        isFavourite: {type: Boolean, required: false, default: false}&lt;br /&gt;
    },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Fallthrough props - $attr Objekt ====&lt;br /&gt;
Angenommen Du hast eine BaseButton.vue Komponente ohne definierte Props.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Im Parent kannst Du trotzdem Attribute und Events&amp;#039;&amp;#039;&amp;#039; nutzen...&lt;br /&gt;
 &amp;lt;base-button type=&amp;quot;submit&amp;quot; @click=&amp;quot;doSomething&amp;quot;&amp;gt;Click me&amp;lt;/base-button&amp;gt;&lt;br /&gt;
... und diese dann &amp;#039;&amp;#039;&amp;#039;in der Komponente auswerten&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Dafür hat vue ein spezielles $attrs Objekt auf das Du mit&lt;br /&gt;
 this.$attrs&lt;br /&gt;
zugreifen kannst. Dies kann z.b. bei Komponenten mit nur geringer Funktionalität nützlich sein, die eher zur reinen Ausgabe dienen.&lt;br /&gt;
&lt;br /&gt;
==== Fallthrough props - root Element ====&lt;br /&gt;
Fallthrough Properties ermöglichen es Properties und Events in Komponenten zu nutzen.&lt;br /&gt;
&lt;br /&gt;
Wenn man Properties oder Events in einer Komponente nutzt werden Sie von Vue automatisch  per default auf das Root Element angewendet.&lt;br /&gt;
&lt;br /&gt;
Einsatz der BaseButton Komponente&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;base-button @click=&amp;quot;setSelectedTab(&amp;#039;add-resource&amp;#039;)&amp;quot;&amp;gt;Add Resource&amp;lt;/base-button&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der click Listener wird hier automatisch auf das Root Element der Button Komponente angewendet - nämlich den button tag.&lt;br /&gt;
&lt;br /&gt;
Definition der BaseButton Komponente: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;button :type=&amp;quot;type&amp;quot; :class=&amp;quot;mode&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;slot&amp;gt;Label goes here&amp;lt;/slot&amp;gt;&lt;br /&gt;
    &amp;lt;/button&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alle props in einem Objekt binden ====&lt;br /&gt;
Angenommen deine Komponente sieht etwas so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;UserData.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;{‌{ firstname }} {‌{ lastname }}&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  export default {props: [&amp;#039;firstname&amp;#039;, &amp;#039;lastname&amp;#039;] }&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anstatt alle Props einzeln zu übertragen kannst du auch ein Übergeordnetes Objekt definieren und dieses übertragen.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
data() {&lt;br /&gt;
  return {person: { firstname: &amp;#039;Max&amp;#039;, lastname: &amp;#039;Muster&amp;#039; } };&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Einzelne Attribute binden --&amp;gt;&lt;br /&gt;
&amp;lt;user-data :firstname=&amp;quot;person.firstname&amp;quot; :lastname=&amp;quot;person.lastname&amp;quot;&amp;gt;&amp;lt;/user-data&amp;gt;&lt;br /&gt;
&amp;lt;!-- Alternativ: übergeordnetes Attribut binden (Achtung person ist value des Attributes --&amp;gt;&lt;br /&gt;
&amp;lt;user-data v-bind=&amp;quot;person&amp;quot;&amp;gt;&amp;lt;/user-data&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Child - Parent Communication mit custom Events ($emit) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mit custom Events sendest du Daten von einer Komponente zurück an die Parent app.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Parent App -- [v-bind data] --&amp;gt; Component -- [custom Event data] --&amp;gt; &lt;br /&gt;
* Custom Events definierst du mit $emit in der Komponente&lt;br /&gt;
* In der Parent App nutzt du das Event im HTML Teil mit v-on&lt;br /&gt;
&lt;br /&gt;
Wenn in einer Komponente Daten verändert werden muss man sie zurück zur Elternkomponente übertragen. Das Ändern der Props ist wegen dem unidirectional dataflow nicht erlaubt. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;$emit()&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Um Daten zurück zu senden können wir custom Events nutzen. Dazu gibt es die $emit Funktion&lt;br /&gt;
 this.$emit(&amp;#039;event-name&amp;#039;, argument1, argument2, ...) // always use kebab-case&lt;br /&gt;
# in der Component in einer method this.$emit aufrufen z.b. this.$emit(&amp;#039;toggle-state&amp;#039;, this.id)&lt;br /&gt;
## id ist meist sinnvoll damit in der Parent App der Datensatz zugeordnet werden kann.&lt;br /&gt;
# im HTML der Eltern App einen v-on mit diesem Event anlegen z.B. @toggle-state=&amp;quot;toggleState&amp;quot;&lt;br /&gt;
# in der gebundenen Methode in der Eltern App verarbeiten z.b. toggleState(id){ //ie. store in db }&lt;br /&gt;
&lt;br /&gt;
Beispiel - es soll ein isFavourite Datum aus der Kindkomponente (Friendcontact.vue) gesetzt werden. Mit Klick auf den Button wird ein CustomEvent gesendet. Dieses wird in der Parent App ausgewertet und in den Daten gesezt. Über das v-bind in der Parent App wird es zurück in die h2 der Kind Komponente gesendet und diese aktualisiert.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;FriendContact.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;{{name}} {{isFavourite ? &amp;#039;(*)&amp;#039; : &amp;#039;&amp;#039;}}&amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;button @click=&amp;quot;toggleFavourite&amp;quot;&amp;gt;Toggle Favourite&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
    props:{&lt;br /&gt;
        id: {type: String, required: true},&lt;br /&gt;
        //...&lt;br /&gt;
        isFavourite: {type: Boolean, required: false, default: false}&lt;br /&gt;
    },&lt;br /&gt;
    emits:[&amp;#039;toggle-favourite&amp;#039;], // emits object is optional and just for documentation purpose&lt;br /&gt;
    methods:{&lt;br /&gt;
        toggleFavourite(){&lt;br /&gt;
            this.$emit(&amp;#039;toggle-favourite&amp;#039;, this.id); &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;section&amp;gt;&lt;br /&gt;
    &amp;lt;header&amp;gt;&amp;lt;h1&amp;gt;My Friends&amp;lt;/h1&amp;gt;&amp;lt;/header&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
         &amp;lt;friend-contact &lt;br /&gt;
         v-for=&amp;quot;friend in friends&amp;quot;&lt;br /&gt;
         :key=&amp;quot;friend.id&amp;quot;&lt;br /&gt;
         :id=&amp;quot;friend.id&amp;quot;&lt;br /&gt;
         :name=&amp;quot;friend.name&amp;quot; &lt;br /&gt;
         //...&lt;br /&gt;
         :is-favourite=&amp;quot;friend.isFavourite&amp;quot;&lt;br /&gt;
         @toggle-favourite=&amp;quot;toggleFavouriteState&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;/friend-contact&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
import FriendContact from &amp;#039;./components/FriendContact.vue&amp;#039;&lt;br /&gt;
export default {&lt;br /&gt;
  components: { &lt;br /&gt;
      FriendContact&lt;br /&gt;
    }, &lt;br /&gt;
    data(){&lt;br /&gt;
        return {&lt;br /&gt;
            friends:[&lt;br /&gt;
                {&lt;br /&gt;
                    id: &amp;#039;yvonne&amp;#039;,&lt;br /&gt;
                    name: &amp;#039;Yvonne Oßwald&amp;#039;,&lt;br /&gt;
                    phone: &amp;#039;49 123 456&amp;#039;,&lt;br /&gt;
                    email: &amp;#039;post@yvonneosswals.de&amp;#039; &lt;br /&gt;
                },&lt;br /&gt;
                {&lt;br /&gt;
                    id: &amp;#039;finn&amp;#039;,&lt;br /&gt;
                    name: &amp;#039;Finn Schlegel&amp;#039;,&lt;br /&gt;
                    phone: &amp;#039;49 456 789&amp;#039;,&lt;br /&gt;
                    email: &amp;#039;post@finnschlegel.de&amp;#039; ,&lt;br /&gt;
                    isFavourite: true&lt;br /&gt;
                },&lt;br /&gt;
            ]&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    methods:{&lt;br /&gt;
        toggleFavouriteState(friendId){&lt;br /&gt;
            const identifiedFriend = this.friends.find(&lt;br /&gt;
                (friend) =&amp;gt; friend.id === friendId // eq: function(friend){return friend.id...}&lt;br /&gt;
                // this callback is executed on every friend (array item)&lt;br /&gt;
                // first item match is returned&lt;br /&gt;
            )&lt;br /&gt;
            // identifiedFriend is a proxy which handles the origin array element of friends array&lt;br /&gt;
            // thats why we can modify identifiedFriend and friends will be altered too&lt;br /&gt;
            // console.log(&amp;#039;identifiedFriend: &amp;#039; + identifiedFriend.id)&lt;br /&gt;
            identifiedFriend.isFavourite = !identifiedFriend.isFavourite&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== provide und inject ===&lt;br /&gt;
Manchmal hat man eine Art &amp;quot;Passthrough&amp;quot; Komponenten.&lt;br /&gt;
&lt;br /&gt;
Dies bedeutet, dass diese Komponenten keine eigene Logik für eingehende props oder ausgehende emits zur Verfügung stellen sondern diese nur an die nächste Ebene (props an die Kind-Komponente und emit an die Elternelemente weitergeben.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
&amp;lt;knowledge-base :topics=&amp;quot;topics&amp;quot; @select-topic=&amp;quot;activateTopic&amp;quot;&amp;gt;&amp;lt;/knowledge-base&amp;gt;&lt;br /&gt;
&amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
  data() {&lt;br /&gt;
    return {&lt;br /&gt;
      topics: [&lt;br /&gt;
        {&lt;br /&gt;
          id: &amp;#039;basics&amp;#039;,&lt;br /&gt;
          title: &amp;#039;The Basics&amp;#039;,&lt;br /&gt;
          description: &amp;#039;Core Vue basics you have to know&amp;#039;,&lt;br /&gt;
          fullText:&lt;br /&gt;
            &amp;#039;Vue is a great framework and it has a couple of key concepts: Data binding, events, components and reactivity - that should tell you something!&amp;#039;,&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          id: &amp;#039;components&amp;#039;,&lt;br /&gt;
          title: &amp;#039;Components&amp;#039;,&lt;br /&gt;
          description:&lt;br /&gt;
            &amp;#039;Components are a core concept for building Vue UIs and apps&amp;#039;,&lt;br /&gt;
          fullText:&lt;br /&gt;
            &amp;#039;With components, you can split logic (and markup) into separate building blocks and then combine those building blocks (and re-use them) to build powerful user interfaces.&amp;#039;,&lt;br /&gt;
        },&lt;br /&gt;
      ],&lt;br /&gt;
      activeTopic: null,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
  methods: {&lt;br /&gt;
    activateTopic(topicId) {&lt;br /&gt;
      this.activeTopic = this.topics.find((topic) =&amp;gt; topic.id === topicId);&lt;br /&gt;
    },&lt;br /&gt;
  },&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KnowledgeBase.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier werden die Props und das event quasi nur durchgeleitet.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;knowledge-grid :topics=&amp;quot;topics&amp;quot; @select-topic=&amp;quot;$emit(&amp;#039;select-topic&amp;#039;, $event)&amp;quot;&amp;gt;&amp;lt;/knowledge-grid&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default { props: [&amp;#039;topics&amp;#039;], emits: [&amp;#039;select-topic&amp;#039;],};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KnowledgeGrid.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier werden die Props zwar in der for Schleife genutzt, das select-topic event wird durchgeleitet.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;knowledge-element&lt;br /&gt;
      v-for=&amp;quot;topic in topics&amp;quot;&lt;br /&gt;
      :key=&amp;quot;topic.id&amp;quot;&lt;br /&gt;
      :id=&amp;quot;topic.id&amp;quot;&lt;br /&gt;
      :topic-name=&amp;quot;topic.title&amp;quot;&lt;br /&gt;
      :description=&amp;quot;topic.description&amp;quot;&lt;br /&gt;
      @select-topic=&amp;quot;$emit(&amp;#039;select-topic&amp;#039;, $event)&amp;quot;&lt;br /&gt;
    &amp;gt;&amp;lt;/knowledge-element&amp;gt;&lt;br /&gt;
&amp;lt;/template&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default { props: [&amp;#039;topics&amp;#039;], emits: [&amp;#039;select-topic&amp;#039;]};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KnowledgeElement.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier wird schließlich das Event select-topic erzeugt.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;button @click=&amp;quot;$emit(&amp;#039;select-topic&amp;#039;, id)&amp;quot;&amp;gt;Learn More&amp;lt;/button&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== provide und inject eine Eigenschaft ====&lt;br /&gt;
Mit dem Provide Objekt kannst du Properties bereitstellen und mit inject in einer anderen Komponente nutzbar machen. Hinweis: Du kannst nur &amp;#039;&amp;#039;&amp;#039;in Richtung der Kindelemente&amp;#039;&amp;#039;&amp;#039; injecten. Im Beispiel oben möchten wir die topics direkt zu KnowledgeGrid.vue senden. Das geht folgendermaßen&lt;br /&gt;
* provide Object in App.vue hinzufügen und Daten hinzufügen&lt;br /&gt;
* statt dem props Object die Daten mit inject nutzen&lt;br /&gt;
In App.vue ergänzen wir die configuration objects um das provide object (z.b. unter dem data) object&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//..&lt;br /&gt;
provide() {&lt;br /&gt;
    return {topics:this.topics}&lt;br /&gt;
},&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wir stellen also eine Eigenschaft &amp;quot;topics&amp;quot; zum injecten (nutzen) bereit. Der Name ist frei wählbar. Hier kopieren wir einfach das schon vorhandene topics Ojekt aus data. Man kann aber auch eigene Objekte definieren.&lt;br /&gt;
&lt;br /&gt;
Um das jetzt in KnowledgeGrid zu nutzen müssen wir dort das inject Objekt nutzen. Es ersetzt in diesem Fall vollständig die props. Daher schreiben wir statt props einfach inject:&lt;br /&gt;
 inject: [&amp;#039;topics&amp;#039;],&lt;br /&gt;
&lt;br /&gt;
==== provide und inject für custom events ====&lt;br /&gt;
provide und inject funktionieren auch mit Methoden. So können einfach die Methode (oder besser den Zeiger auf eine Methode) injekten. &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue - provide object&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 selectTopic: this.activateTopic // point at the method&lt;br /&gt;
In KnowledgeElement injekten wir:&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KnowledgeElement.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 inject: [&amp;#039;selectTopic&amp;#039;],&lt;br /&gt;
und schreiben den button etwas um:&lt;br /&gt;
  &amp;lt;button @click=&amp;quot;selectTopic(id)&amp;quot;&amp;gt;Learn More&amp;lt;/button&amp;gt;&lt;br /&gt;
==== Komplettes Beispiel ====&lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;div&amp;gt;&lt;br /&gt;
    &amp;lt;active-element&lt;br /&gt;
      :topic-title=&amp;quot;activeTopic &amp;amp;&amp;amp; activeTopic.title&amp;quot;&lt;br /&gt;
      :text=&amp;quot;activeTopic &amp;amp;&amp;amp; activeTopic.fullText&amp;quot;&lt;br /&gt;
    &amp;gt;&amp;lt;/active-element&amp;gt;&lt;br /&gt;
    &amp;lt;knowledge-base&amp;gt;&amp;lt;/knowledge-base&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
  data() {&lt;br /&gt;
    return {&lt;br /&gt;
      topics: [&lt;br /&gt;
        {&lt;br /&gt;
          id: &amp;#039;basics&amp;#039;,&lt;br /&gt;
          title: &amp;#039;The Basics&amp;#039;,&lt;br /&gt;
          description: &amp;#039;Core Vue basics you have to know&amp;#039;,&lt;br /&gt;
          fullText:&lt;br /&gt;
            &amp;#039;Vue is a great framework and it has a couple of key concepts: Data binding, events, components and reactivity - that should tell you something!&amp;#039;,&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          id: &amp;#039;components&amp;#039;,&lt;br /&gt;
          title: &amp;#039;Components&amp;#039;,&lt;br /&gt;
          description:&lt;br /&gt;
            &amp;#039;Components are a core concept for building Vue UIs and apps&amp;#039;,&lt;br /&gt;
          fullText:&lt;br /&gt;
            &amp;#039;With components, you can split logic (and markup) into separate building blocks and then combine those building blocks (and re-use them) to build powerful user interfaces.&amp;#039;,&lt;br /&gt;
        },&lt;br /&gt;
      ],&lt;br /&gt;
      activeTopic: null,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
  provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      topics: this.topics,&lt;br /&gt;
      selectTopic: this.activateTopic // point at the method&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  methods: {&lt;br /&gt;
    activateTopic(topicId) {&lt;br /&gt;
      this.activeTopic = this.topics.find((topic) =&amp;gt; topic.id === topicId);&lt;br /&gt;
    },&lt;br /&gt;
  },&lt;br /&gt;
  // use a hook to simulate data changes&lt;br /&gt;
  // this proves, that data in provide is updated too&lt;br /&gt;
  mounted(){&lt;br /&gt;
    setTimeout(&lt;br /&gt;
      () =&amp;gt; {&lt;br /&gt;
        this.topics.push({&lt;br /&gt;
          id: &amp;#039;events&amp;#039;,&lt;br /&gt;
          title: &amp;#039;Events&amp;#039;,&lt;br /&gt;
          description:&lt;br /&gt;
            &amp;#039;Events are important in vue&amp;#039;,&lt;br /&gt;
          fullText:&lt;br /&gt;
            &amp;#039;Events allow you to trigger code on demand.&amp;#039;,&lt;br /&gt;
        })&lt;br /&gt;
      },&lt;br /&gt;
      3000&lt;br /&gt;
    )&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
/* styling goes here */&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KnowledgeBase.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;section&amp;gt;&lt;br /&gt;
    &amp;lt;h2&amp;gt;Select a Topic&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;knowledge-grid&amp;gt;&amp;lt;/knowledge-grid&amp;gt;&lt;br /&gt;
  &amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KnowledgeGrid.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;knowledge-element&lt;br /&gt;
      v-for=&amp;quot;topic in topics&amp;quot;&lt;br /&gt;
      :key=&amp;quot;topic.id&amp;quot;&lt;br /&gt;
      :id=&amp;quot;topic.id&amp;quot;&lt;br /&gt;
      :topic-name=&amp;quot;topic.title&amp;quot;&lt;br /&gt;
      :description=&amp;quot;topic.description&amp;quot;&lt;br /&gt;
    &amp;gt;&amp;lt;/knowledge-element&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
  inject: [&amp;#039;topics&amp;#039;],&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KnowledgeElement.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    &amp;lt;h3&amp;gt;{{ topicName }}&amp;lt;/h3&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;{{ description }}&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;button @click=&amp;quot;selectTopic(id)&amp;quot;&amp;gt;Learn More&amp;lt;/button&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
  inject: [&amp;#039;selectTopic&amp;#039;], // we expect a function named selectTopic&lt;br /&gt;
  props: [&amp;#039;id&amp;#039;, &amp;#039;topicName&amp;#039;, &amp;#039;description&amp;#039;],&lt;br /&gt;
  emits: [&amp;#039;select-topic&amp;#039;],&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Global / Local ==&lt;br /&gt;
Bisher haben wir Komponenten in main.js global registriert. Das ist sinnvoll bei &amp;quot;General Purpose Components&amp;quot; oder wenn Sie in vielen anderen Komponenten eingesetzt werden sollen.&lt;br /&gt;
Global&lt;br /&gt;
* Überall verfügbar, auch wenn nicht genutzt&lt;br /&gt;
* Muss beim ersten Aufruf der Seite vom Browser geladen werden (Performance)&lt;br /&gt;
main.js&lt;br /&gt;
 import BaseBadge from &amp;#039;./components/BaseBadge.vue&amp;#039;;&lt;br /&gt;
 const app = createApp(App);&lt;br /&gt;
 app.component(&amp;#039;base-badge&amp;#039;, BaseBadge);&lt;br /&gt;
 app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
Oft ist es besser Komponenten nur dort zu registrieren wo sie benötigt werden. &lt;br /&gt;
App.vue - &amp;lt;script&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import TheHeader from &amp;#039;./components/TheHeader.vue&amp;#039;;&lt;br /&gt;
import BadgeList from &amp;#039;./components/BadgeList.vue&amp;#039;;&lt;br /&gt;
import UserInfo from &amp;#039;./components/UserInfo.vue&amp;#039;;&lt;br /&gt;
export default {&lt;br /&gt;
  components: {&lt;br /&gt;
    TheHeader,&lt;br /&gt;
    // or &amp;#039;the-header&amp;#039;: TheHeader,&lt;br /&gt;
    // or TheHeader : TheHeader&lt;br /&gt;
    BadgeList,&lt;br /&gt;
    UserInfo,&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Diese Komponenten sind nur in App.vue verfügbar. Du kannst Sie natürlich über import auch in weiteren Komponenten nutzen.&lt;br /&gt;
&lt;br /&gt;
=== scoped styling ===&lt;br /&gt;
Mit dem Attribut scoped werden Styles nur für die Komponente angewendet.&lt;br /&gt;
 &amp;lt;style scoped&amp;gt;&lt;br /&gt;
Best practice: Globale Styles in App.vue&lt;br /&gt;
&lt;br /&gt;
== Slots ==&lt;br /&gt;
Slots sind eine Art Wrapper für eine Kind-Komponente. &lt;br /&gt;
&lt;br /&gt;
Komponenten können in einem Template nicht ineinander Verschachtelt werden. Manchmal möchte man aber genau das haben um z.B. ein gestyltes Element (z.b. eine Card) wiederverwenden zu können. Der Inhalt soll aber über eine andere Komponente gerendert werden. So kann man z.B. Styles gut wiederverewnden.&lt;br /&gt;
* Komponente registrieren (oft in main.js da man sie global haben möchte)&lt;br /&gt;
* &amp;lt;slot&amp;gt;&amp;lt;/slot&amp;gt; Tag in die Slot Komponente einfügen&lt;br /&gt;
* in der Kindkomponente einfach den custom Tag der Komponente als Wrapper nutzen&lt;br /&gt;
Für solche Zwecke gibt es Slots.&lt;br /&gt;
BaseCard.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
        &amp;lt;slot&amp;gt;&amp;lt;/slot&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;style scoped&amp;gt;&lt;br /&gt;
div {&lt;br /&gt;
  margin: 2rem auto;&lt;br /&gt;
  max-width: 30rem;&lt;br /&gt;
  border-radius: 12px;&lt;br /&gt;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.26);&lt;br /&gt;
  padding: 1rem;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ChildComponent.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;base-card&amp;gt;&lt;br /&gt;
      &amp;lt;header&amp;gt;&lt;br /&gt;
        &amp;lt;h3&amp;gt;{{ fullName }}&amp;lt;/h3&amp;gt;&lt;br /&gt;
        &amp;lt;base-badge :type=&amp;quot;role&amp;quot; :caption=&amp;quot;role.toUpperCase()&amp;quot;&amp;gt;&amp;lt;/base-badge&amp;gt;&lt;br /&gt;
      &amp;lt;/header&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;{{ infoText }}&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/base-card&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
  props: [&amp;#039;fullName&amp;#039;, &amp;#039;infoText&amp;#039;, &amp;#039;role&amp;#039;],&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style scoped&amp;gt;&lt;br /&gt;
div header {&lt;br /&gt;
  display: flex;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So wie die props zum Transport von Daten dienen, so dienen die Slots zum Transport von dynamischem HTML Code zwischen den Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Named Slots - v-slot===&lt;br /&gt;
Mit Named Slots kann man mehrere Slots nutzen, und damit auch komplexere Templates erzeugen. Dazu gibt es die Direktive &amp;#039;&amp;#039;&amp;#039;v-slot&amp;#039;&amp;#039;&amp;#039;. Wir nutzen zusätzlich das Standard HTML Tag &amp;lt;template&amp;gt; Das bietet sich an, da es keinen Inhat - also nicht mal eine Leerzeile - ausgibt.&lt;br /&gt;
 v-slot:[slotname]&lt;br /&gt;
statt v-slot: kann man auch den Shortcut # nehmen: &lt;br /&gt;
 #[slotname]&lt;br /&gt;
&lt;br /&gt;
Beispiel BaseCard.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
        &amp;lt;header&amp;gt;&lt;br /&gt;
            &amp;lt;slot name=&amp;quot;headline&amp;quot;&amp;gt;&amp;lt;/slot&amp;gt;&lt;br /&gt;
        &amp;lt;/header&amp;gt;&lt;br /&gt;
        &amp;lt;slot&amp;gt;&amp;lt;/slot&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Kindkomponente&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;base-card&amp;gt;&lt;br /&gt;
      &amp;lt;template v-slot:headline&amp;gt;&lt;br /&gt;
        &amp;lt;h3&amp;gt;{{ fullName }}&amp;lt;/h3&amp;gt;&lt;br /&gt;
        &amp;lt;base-badge :type=&amp;quot;role&amp;quot; :caption=&amp;quot;role.toUpperCase()&amp;quot;&amp;gt;&amp;lt;/base-badge&amp;gt;&lt;br /&gt;
      &amp;lt;/template&amp;gt;&lt;br /&gt;
      &amp;lt;template v-slot:default&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;{{ infoText }}&amp;lt;/p&amp;gt;&lt;br /&gt;
      &amp;lt;/template&amp;gt;&lt;br /&gt;
  &amp;lt;/base-card&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Default Content für Slots ===&lt;br /&gt;
Du kannst default Inhalt anzeigen wenn die Kindkomponente keinen Inhalt für einen Slot hat.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;slot name=&amp;quot;headline&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;h2&amp;gt;This default fallback content be shown if no content is provided&amp;lt;/h2&amp;gt;&lt;br /&gt;
 &amp;lt;/slot&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== v-if mit $slots ===&lt;br /&gt;
Manche Slots möchte man nur anzeigen wenn auch Inhalt dafür vorhanden ist. Ansonsten soll auch das umgebende Tag nicht ausgegeben werden. Dies kann man mit v-if und der $slots Variablen erreichen.&lt;br /&gt;
&lt;br /&gt;
$slots enthält die Daten für einen aktuellen Slot. Das Nutzen wir über ein v-if:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;header v-if=&amp;quot;slots.headline&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;slot name=&amp;quot;headline&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;/slot&amp;gt;&lt;br /&gt;
&amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
So wird die headline nur ausgegeben, wenn sie auch vorhanden ist.&lt;br /&gt;
&lt;br /&gt;
Tipp: Den Inhalt von $slots kannst du dir über einen Hook in der Konsole ausgeben lassen:&lt;br /&gt;
    mounted(){&lt;br /&gt;
        console.log(this.$slots.headline)&lt;br /&gt;
    }&lt;br /&gt;
=== scoped Slots ===&lt;br /&gt;
Scoped Slots erlauben es Daten vom Slot der Komponente zur Parent App zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Du kannst einfach im Slot Tag Attribute definieren, die dann in einem Objekt in der Eltern Komponente genutzt werden können:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li v-for=&amp;quot;goal in goals&amp;quot; :key=&amp;quot;goal&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;slot :item=&amp;quot;goal&amp;quot; another-prop=&amp;quot;hello&amp;quot;&amp;gt;&amp;lt;/slot&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
    data() {&lt;br /&gt;
        return {&lt;br /&gt;
            goals: [&amp;#039;Finish the coarse&amp;#039;, &amp;#039;Learn Vue&amp;#039;],&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und sie in der Elternkomponente auswerten.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Main App&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;course-goals&amp;gt;&lt;br /&gt;
      &amp;lt;template #default=&amp;quot;myProps&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h4&amp;gt;{{ myProps.item }}&amp;lt;/h4&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;{{ myProps.anotherProp }}&amp;lt;/p&amp;gt;&lt;br /&gt;
      &amp;lt;/template&amp;gt;&lt;br /&gt;
    &amp;lt;/course-goals&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Template Tag kann man den Slot (hier default auslesen und in eine beliebige Variable (hier myProps) schreiben. &amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; in aktuellen Vue Versionen kann man camelCase Schreibweise nutzen und Vue konvertiert automatisch.&lt;br /&gt;
&lt;br /&gt;
== Dynamic Components &amp;lt;component&amp;gt; ==&lt;br /&gt;
Mit dem &amp;#039;&amp;#039;&amp;#039;component Tag und dem is Attribut&amp;#039;&amp;#039;&amp;#039; kannst du Komponenten dynamisch anzeigen. Das heißt an der Stelle von &amp;lt;component&amp;gt; können unterschiedliche Komponenten angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;component v-bind:is=&amp;quot;selectedComponent&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier wird die Komponente mit dem Namen der in der Variablen selectedComponent steckt angezeigt.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;keep-alive&amp;gt; component ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;keep-alive&amp;gt;&lt;br /&gt;
      &amp;lt;component v-bind:is=&amp;quot;selectedComponent&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
    &amp;lt;/keep-alive&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
KeepAlive ist eine Vue-Interne Komponente, die oft mit dynamischen Komponenten in Verbindung eingesetzt wird. Da Komponenten wenn sie nicht mehr benötigt werden aus dem DOM entfernt werden, sind auch User-Inhalte wie die Eingabe in einem Input Feld gelöscht, wenn sie später wieder angezeigt werden. &lt;br /&gt;
 &lt;br /&gt;
Wrapt man die Komponente mit keep-alive werden die Inhalte vor dem Löschen gecacht und können später wieder hergestellt werden.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;teleport&amp;gt; ===&lt;br /&gt;
Teleport ist eine eingebaute Vue Komponente. Mit dieser kannst Du DOM Elemente in andere Bereiche &amp;quot;teleportieren&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dies kann z.b. für Modal Fenster sinnvoll sein, die man aus semantischen Gründen lieber auf der App oder &amp;lt;body&amp;gt; Ebene haben möchte anstatt tief vergraben im DOM&lt;br /&gt;
  &lt;br /&gt;
 &amp;lt;teleport to=&amp;quot;#selector&amp;quot;&amp;gt;&amp;lt;/teleport&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Teleport benötigt &amp;#039;&amp;#039;&amp;#039;das Attribut to&amp;#039;&amp;#039;&amp;#039;, in dem man einen CSS-Selector angibt, wo das Element eingehängt werden soll.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;teleport to=&amp;quot;#app&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;error-alert v-if=&amp;quot;inputIsInvalid&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;h2&amp;gt;Input is invalid&amp;lt;/h2&amp;gt;&lt;br /&gt;
     &amp;lt;p&amp;gt;Please enter something.&amp;lt;/p&amp;gt;&lt;br /&gt;
     &amp;lt;button @click=&amp;quot;confirmModal&amp;quot;&amp;gt;Okay&amp;lt;/button&amp;gt;&lt;br /&gt;
  &amp;lt;/error-alert&amp;gt;&lt;br /&gt;
&amp;lt;/teleport&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom Form Control ==&lt;br /&gt;
Wenn man v-model in einer eigenen Component nutzt &lt;br /&gt;
 &amp;lt;my-component v-model=&amp;quot;myProp&amp;quot;&amp;gt;&amp;lt;/my-component&amp;gt;&lt;br /&gt;
macht Vue im Prinzip eine Kombi aus event listener und binding mit diesen Objekten:&lt;br /&gt;
 &amp;lt;my-component :model-value=&amp;quot;&amp;quot; @update:modelValue=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/my-component&amp;gt;&lt;br /&gt;
Die beiden Snipperts verhalten sich also identisch.&lt;br /&gt;
&lt;br /&gt;
Sobald v-model eingesetzt wird stehen also auch das &amp;#039;&amp;#039;&amp;#039;Emit und das Prop in der Komponente&amp;#039;&amp;#039;&amp;#039; zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
 props:[&amp;#039;model-value&amp;#039;],&lt;br /&gt;
 emits: [&amp;#039;update:modelValue&amp;#039;],&lt;br /&gt;
&lt;br /&gt;
Diese können wir nutzen wie hier im Beispiel. modelValue ist immer aktuell, da eine Aktualisierung über $emit an die Parent Komponente geht und von dieser wieder über das prop model-value zurückkommt und so auch in &amp;lt;template&amp;gt; bei modelValue aktualisiert wird. &lt;br /&gt;
&lt;br /&gt;
Beispiel RatingControl.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;button :class=&amp;quot;{active: modelValue === &amp;#039;poor&amp;#039;}&amp;quot; @click=&amp;quot;activate(&amp;#039;poor&amp;#039;)&amp;quot; type=&amp;quot;button&amp;quot;&amp;gt;Poor&amp;lt;/button&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;button :class=&amp;quot;{active: modelValue === &amp;#039;average&amp;#039;}&amp;quot; @click=&amp;quot;activate(&amp;#039;average&amp;#039;)&amp;quot; type=&amp;quot;button&amp;quot;&amp;gt;Average&amp;lt;/button&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;button :class=&amp;quot;{active: modelValue === &amp;#039;great&amp;#039;}&amp;quot; @click=&amp;quot;activate(&amp;#039;great&amp;#039;)&amp;quot; type=&amp;quot;button&amp;quot;&amp;gt;Great&amp;lt;/button&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
    props:[&amp;#039;model-value&amp;#039;],&lt;br /&gt;
    emits: [&amp;#039;update:modelValue&amp;#039;],&lt;br /&gt;
    methods:{&lt;br /&gt;
        activate(option){&lt;br /&gt;
            this.$emit(&amp;#039;update:modelValue&amp;#039;, option);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Parent&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;rating-control v-model=&amp;quot;rating&amp;quot;&amp;gt;&amp;lt;/rating-control&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
import RatingControl from &amp;#039;./RatingControl.vue&amp;#039;&lt;br /&gt;
export default {&lt;br /&gt;
  components:{&lt;br /&gt;
    RatingControl&lt;br /&gt;
  },&lt;br /&gt;
  data(){&lt;br /&gt;
    return {&lt;br /&gt;
      rating: null&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  methods: {&lt;br /&gt;
    submitForm(){&lt;br /&gt;
      console.log(&amp;#039;Rating: &amp;#039; + this.rating);&lt;br /&gt;
      this.rating = null;&lt;br /&gt;
   },&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Vue_-_Components&amp;diff=25125</id>
		<title>Vue - Components</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Vue_-_Components&amp;diff=25125"/>
		<updated>2021-01-06T13:33:08Z</updated>

		<summary type="html">&lt;p&gt;37.49.72.8: /* Dynamic Components  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Siehe auch &lt;br /&gt;
 [[Vue.js]]&lt;br /&gt;
 [[Vue CLI]]&lt;br /&gt;
&lt;br /&gt;
Components sind &amp;#039;&amp;#039;&amp;#039;wiederverwendbare Logikbausteine&amp;#039;&amp;#039;&amp;#039;. Du kannst damit z.B. Logik so Kapseln, dass sie nicht durch andere Ereignisse oder Eigenschaften beeinflusst wird. &lt;br /&gt;
&lt;br /&gt;
Durch die Aufteilung einer großen App in kleinere Bausteine wird sie weniger fehleranfällig und leichter wartbar und die Entwicklung gerade bei größeren Apps effektiver.&lt;br /&gt;
&lt;br /&gt;
Eine Component sieht im Template &amp;#039;&amp;#039;&amp;#039;wie ein neuer Tag&amp;#039;&amp;#039;&amp;#039; aus. Damit es keine &amp;#039;&amp;#039;&amp;#039;Namenskonflikte&amp;#039;&amp;#039;&amp;#039; gibt verwendest Du als Name am Besten eine Bezeichnung mit zwei Worten und Bindestrich &amp;lt;contact-details&amp;gt;. Dies kommmt bei normalen Tags nicht vor.&lt;br /&gt;
&lt;br /&gt;
Definiert wird eine Komponente mit der component() Methode. Technisch gesehen ist eine Komponente eine &amp;#039;&amp;#039;&amp;#039;App in einer App&amp;#039;&amp;#039;&amp;#039;. Daher erzeugt man sie auch ganz ähnlich:&lt;br /&gt;
&lt;br /&gt;
 const app = Vue.createApp({ //... }) // creation of an app&lt;br /&gt;
 app.component(&amp;#039;single-contact&amp;#039;, { //... }) // creation of a component in this app&lt;br /&gt;
&lt;br /&gt;
Im ersten Argument definiert man den Namen über den später als Tag (&amp;lt;single-contact&amp;gt;) zugegriffen werden kann. Im zweiten Argument übergibt man ein Objekt, dass wiederum eigene data, methods... Objekte enthalten kann die aber nur für diese Komponente gelten.&lt;br /&gt;
&lt;br /&gt;
== Component Template ==&lt;br /&gt;
Die Component ist also eine Art Mini-App in der Hauptapp. Sie benötigt wie eine App ein Template. Es gibt mehrere Möglichkeiten das Template zu übergeben.&lt;br /&gt;
&lt;br /&gt;
=== template Object ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
app.component(&amp;#039;friend-contact&amp;#039;, {&lt;br /&gt;
    template: ` &lt;br /&gt;
    &amp;lt;li&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;{{friend.name}}&amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;button @click=&amp;quot;toggleDetails()&amp;quot;&amp;gt;Show Details&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;ul v-if=&amp;quot;detailsVisible&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Phone:&amp;lt;/strong&amp;gt; {{friend.phone}} &amp;lt;/li&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Email:&amp;lt;/strong&amp;gt; {{friend.email}} &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
    `,// backticks allow multiline code&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quickstart - Component mit CLI ==&lt;br /&gt;
Wenn man mit Components arbeitet bietet sich auch die Arbeit mit dem [[Vue CLI]] an. In Kurzform die Schritte die Du benötigst um eine Vue App und Komponenten zu nutzen.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Komponente erstellen:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;components/MyComponent.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;lt;template&amp;gt; Abschnitt&lt;br /&gt;
** &amp;lt;script&amp;gt;export default{}&amp;lt;/script&amp;gt; Abschnitt &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Komponente in Main App registrieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;App.vue&amp;#039;&amp;#039;&amp;#039; erstellen&lt;br /&gt;
** &amp;lt;template&amp;gt; und &amp;lt;script&amp;gt; wie oben erstellen&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;main.js&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** createApp wird beim Erstellen schon eingefügt&lt;br /&gt;
** Hauptapp (i.d.R. App.vue) importieren&lt;br /&gt;
** Config Oject der Komponenten importieren &lt;br /&gt;
** app Instanz über createApp erzeugen&lt;br /&gt;
** mit Funktion components in App Instanz registrieren&lt;br /&gt;
** App mounten&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Daten aus Main App senden &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Daten definieren und im custom-tag binden&lt;br /&gt;
* in der Komponente als props nutzen&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Daten aus Komponente an Main App senden &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* data() der App definieren&lt;br /&gt;
* Funktion mit this.$emit(&amp;#039;my-emitter&amp;#039;) definieren&lt;br /&gt;
* Optional (good practice) in emits: [&amp;#039;my-emitter] listen&lt;br /&gt;
main.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { createApp } from &amp;#039;vue&amp;#039;;&lt;br /&gt;
import App from &amp;#039;./App.vue&amp;#039;;&lt;br /&gt;
import MyComponent from &amp;#039;./components/MyComponent.vue&amp;#039;;&lt;br /&gt;
// ...&lt;br /&gt;
&lt;br /&gt;
const app = createApp(App);&lt;br /&gt;
app.component(&amp;#039;my-component&amp;#039;, MyComponent); // always use dashed names thus they can&amp;#039;t clash with existing html names&lt;br /&gt;
// ...&lt;br /&gt;
app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;The App&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;my-component&amp;gt;&amp;lt;/my-component&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
import MyComponent from &amp;#039;./components/MyComponent.vue&amp;#039;&lt;br /&gt;
export default {&lt;br /&gt;
    components: {&lt;br /&gt;
        ActiveUser,&lt;br /&gt;
        UserData&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Single File Components mit Vue CLI ==&lt;br /&gt;
Wenn man größere Apps bauen und effektiv mit Components arbeiten möchte hilft das Vue CLI und ein Development Setup mit Node.js und npm. Die folgenden Beispiele nutzen Single File Components. Schau unter&lt;br /&gt;
 [[Vue CLI]]&lt;br /&gt;
nach wenn du nicht weißt wie man ein solches Setup aufbaut.&lt;br /&gt;
&lt;br /&gt;
== Component Communication ==&lt;br /&gt;
=== Parent - Child Communication mit props ===&lt;br /&gt;
 https://v3.vuejs.org/guide/component-props.html&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mit props sendest Du Daten von der Parent App an die Child Component.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue - &amp;lt;template&amp;gt; der Eltern App.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
         &amp;lt;friend-contact &lt;br /&gt;
         name=&amp;quot;Stephan&amp;quot; &lt;br /&gt;
         phone-number=&amp;quot;123&amp;quot; &lt;br /&gt;
         email-address=&amp;quot;my@email.tld&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;/friend-contact&amp;gt;&lt;br /&gt;
        &amp;lt;friend-contact &lt;br /&gt;
         name=&amp;quot;Finn&amp;quot; &lt;br /&gt;
         phone-number=&amp;quot;345&amp;quot; &lt;br /&gt;
         email-address=&amp;quot;my@mymail.tld&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;/friend-contact&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;FriendContact.vue - &amp;lt;script&amp;gt; - Child App&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
props:[&lt;br /&gt;
  &amp;#039;name&amp;#039;, &amp;#039;phoneNumber&amp;#039;, &amp;#039;emailAddress&amp;#039;&lt;br /&gt;
],&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;FriendContact.vue - &amp;lt;template&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;{{name}}&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;button @click=&amp;quot;toggleDetails&amp;quot;&amp;gt; {{detailsVisible ? &amp;#039;Hide&amp;#039; : &amp;#039;Show&amp;#039;}} Details &amp;lt;/button&amp;gt;&lt;br /&gt;
  &amp;lt;ul v-if=&amp;quot;detailsVisible&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Phone: &amp;lt;/strong&amp;gt;{{phoneNumber}}&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Email: &amp;lt;/strong&amp;gt;{{emailAddress}}&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das &amp;#039;&amp;#039;&amp;#039;props Objekt in der Komponente&amp;#039;&amp;#039;&amp;#039; definiert welche Attribute die Komponente akzeptiert und erwartet. Im der Parent App übergibt man die Daten für diese props einfach als Attribute.&lt;br /&gt;
* werden in props der component als &amp;#039;&amp;#039;camelCase&amp;#039;&amp;#039; , stehen aber als &amp;#039;&amp;#039;kebab-case&amp;#039;&amp;#039; im HTML zur Verfügung (du solltest sie auch so verwenden)&lt;br /&gt;
* props stehen mit &amp;#039;&amp;#039;this.myProp&amp;#039;&amp;#039; auch in Methoden etc. zur Verfügung&lt;br /&gt;
&lt;br /&gt;
==== Unidirectional Data Flow ====&lt;br /&gt;
Daten die an die Kind App übertragen werden &amp;#039;&amp;#039;&amp;#039;dürfen nicht mehr verändert werden&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Beispiel: Wenn Du eine prop isFavourite hast und Sie über einen Toggle Button verändern willst kannst du das nicht in der Child App verändern weil die Daten nur von Parent nach Child fließen dürfen. Vue gibt einen Fehler aus.&lt;br /&gt;
&lt;br /&gt;
Es gibt zwei Strategien die man anwenden kann:&lt;br /&gt;
* Daten zurück an Parent übertragen (siehe unten)&lt;br /&gt;
* Daten nutzen um eine Komponentenvariable zu initialisieren und diese verändern.&lt;br /&gt;
&lt;br /&gt;
==== Props Object ====&lt;br /&gt;
Anstatt einem Array kann man auch Objekte übertragen. Darin kann man einige &amp;#039;&amp;#039;&amp;#039;Zusatzinformationen&amp;#039;&amp;#039;&amp;#039; unterbringen. Das ist vor allem bei großen Projekten vlt. mit mehreren Programmierern sinnvoll um Komponenten zuverlässiger zu machen. Die zusätzlichen Properties sind festgelegt: type, required&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
props:[&amp;#039;name&amp;#039;, &amp;#039;phoneNumber&amp;#039;, &amp;#039;emailAddress&amp;#039;], // Array&lt;br /&gt;
props:{ name: String, phoneNumber: String, emailAddress: String, }, // Object mit Type &lt;br /&gt;
props:{&lt;br /&gt;
  name: { type: String, required: false},&lt;br /&gt;
  isFavourite: { &lt;br /&gt;
    type: String, &lt;br /&gt;
    required: false, &lt;br /&gt;
    default: &amp;#039;0&amp;#039;, // could also be a function: function(){ return: &amp;#039;1&amp;#039;},&lt;br /&gt;
    validator: function(value){ return value === &amp;#039;0&amp;#039; || value === &amp;#039;1&amp;#039; }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mit den zusätzlichen Infos kann vue in der Konsole Fehler ausgeben oder du kannst selber Auswertungen der Daten in der Komponente vornehmen. Erlaubte Types sind:&lt;br /&gt;
 String, Number, Boolean, Array, Object, Date, Function, Symbol&lt;br /&gt;
But type can also be any constructor function (built-in ones like Date or custom ones).&lt;br /&gt;
&lt;br /&gt;
==== Props mit dynamischen Daten nutzen ====&lt;br /&gt;
Um Props dynamisch zu nutzen kann man sie einfach mit v-bind (oder : ) an Daten binden und mit v-for durchlaufen. Plicht ist jetzt das key Attribut in die man eine eindeutige id geben muss.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
friends:[&lt;br /&gt;
{&lt;br /&gt;
  id: &amp;#039;yvonne&amp;#039;,&lt;br /&gt;
  name: &amp;#039;Yvonne Oßwald&amp;#039;,&lt;br /&gt;
  phone: &amp;#039;49 123 456&amp;#039;,&lt;br /&gt;
  email: &amp;#039;post@yvonneosswals.de&amp;#039;,&lt;br /&gt;
  isFavourite: false&lt;br /&gt;
},&lt;br /&gt;
//...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;in &amp;lt;template&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;friend-contact &lt;br /&gt;
    v-for=&amp;quot;friend in friends&amp;quot;&lt;br /&gt;
    :key=&amp;quot;friend.id&amp;quot;&lt;br /&gt;
    :name=&amp;quot;friend.name&amp;quot; &lt;br /&gt;
    :phone-number=&amp;quot;friend.phone&amp;quot; &lt;br /&gt;
    :email-address=&amp;quot;friend.email&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;/friend-contact&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Komponente&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;{{name}} {{friendIsFavourite ? &amp;#039;(*)&amp;#039; : &amp;#039;&amp;#039;}}&amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;button @click=&amp;quot;toggleFavourite&amp;quot;&amp;gt;Toggle Favourite&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;button @click=&amp;quot;toggleDetails&amp;quot;&amp;gt; {{detailsVisible ? &amp;#039;Hide&amp;#039; : &amp;#039;Show&amp;#039;}} Details &amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;ul v-if=&amp;quot;detailsVisible&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Phone: &amp;lt;/strong&amp;gt;{{phoneNumber}}&amp;lt;/li&amp;gt;&lt;br /&gt;
            &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Email: &amp;lt;/strong&amp;gt;{{emailAddress}}&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 props:{&lt;br /&gt;
        name: String,&lt;br /&gt;
        phoneNumber: String,&lt;br /&gt;
        emailAddress: String,&lt;br /&gt;
        isFavourite: {type: Boolean, required: false, default: false}&lt;br /&gt;
    },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Fallthrough props - $attr Objekt ====&lt;br /&gt;
Angenommen Du hast eine BaseButton.vue Komponente ohne definierte Props.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Im Parent kannst Du trotzdem Attribute und Events&amp;#039;&amp;#039;&amp;#039; nutzen...&lt;br /&gt;
 &amp;lt;base-button type=&amp;quot;submit&amp;quot; @click=&amp;quot;doSomething&amp;quot;&amp;gt;Click me&amp;lt;/base-button&amp;gt;&lt;br /&gt;
... und diese dann &amp;#039;&amp;#039;&amp;#039;in der Komponente auswerten&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Dafür hat vue ein spezielles $attrs Objekt auf das Du mit&lt;br /&gt;
 this.$attrs&lt;br /&gt;
zugreifen kannst. Dies kann z.b. bei Komponenten mit nur geringer Funktionalität nützlich sein, die eher zur reinen Ausgabe dienen.&lt;br /&gt;
&lt;br /&gt;
==== Fallthrough props - root Element ====&lt;br /&gt;
Fallthrough Properties ermöglichen es Properties und Events in Komponenten zu nutzen.&lt;br /&gt;
&lt;br /&gt;
Wenn man Properties oder Events in einer Komponente nutzt werden Sie von Vue automatisch  per default auf das Root Element angewendet.&lt;br /&gt;
&lt;br /&gt;
Einsatz der BaseButton Komponente&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;base-button @click=&amp;quot;setSelectedTab(&amp;#039;add-resource&amp;#039;)&amp;quot;&amp;gt;Add Resource&amp;lt;/base-button&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der click Listener wird hier automatisch auf das Root Element der Button Komponente angewendet - nämlich den button tag.&lt;br /&gt;
&lt;br /&gt;
Definition der BaseButton Komponente: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;button :type=&amp;quot;type&amp;quot; :class=&amp;quot;mode&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;slot&amp;gt;Label goes here&amp;lt;/slot&amp;gt;&lt;br /&gt;
    &amp;lt;/button&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alle props in einem Objekt binden ====&lt;br /&gt;
Angenommen deine Komponente sieht etwas so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;UserData.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;{‌{ firstname }} {‌{ lastname }}&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  export default {props: [&amp;#039;firstname&amp;#039;, &amp;#039;lastname&amp;#039;] }&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anstatt alle Props einzeln zu übertragen kannst du auch ein Übergeordnetes Objekt definieren und dieses übertragen.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
data() {&lt;br /&gt;
  return {person: { firstname: &amp;#039;Max&amp;#039;, lastname: &amp;#039;Muster&amp;#039; } };&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Einzelne Attribute binden --&amp;gt;&lt;br /&gt;
&amp;lt;user-data :firstname=&amp;quot;person.firstname&amp;quot; :lastname=&amp;quot;person.lastname&amp;quot;&amp;gt;&amp;lt;/user-data&amp;gt;&lt;br /&gt;
&amp;lt;!-- Alternativ: übergeordnetes Attribut binden (Achtung person ist value des Attributes --&amp;gt;&lt;br /&gt;
&amp;lt;user-data v-bind=&amp;quot;person&amp;quot;&amp;gt;&amp;lt;/user-data&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Child - Parent Communication mit custom Events ($emit) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mit custom Events sendest du Daten von einer Komponente zurück an die Parent app.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Parent App -- [v-bind data] --&amp;gt; Component -- [custom Event data] --&amp;gt; &lt;br /&gt;
* Custom Events definierst du mit $emit in der Komponente&lt;br /&gt;
* In der Parent App nutzt du das Event im HTML Teil mit v-on&lt;br /&gt;
&lt;br /&gt;
Wenn in einer Komponente Daten verändert werden muss man sie zurück zur Elternkomponente übertragen. Das Ändern der Props ist wegen dem unidirectional dataflow nicht erlaubt. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;$emit()&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Um Daten zurück zu senden können wir custom Events nutzen. Dazu gibt es die $emit Funktion&lt;br /&gt;
 this.$emit(&amp;#039;event-name&amp;#039;, argument1, argument2, ...) // always use kebab-case&lt;br /&gt;
# in der Component in einer method this.$emit aufrufen z.b. this.$emit(&amp;#039;toggle-state&amp;#039;, this.id)&lt;br /&gt;
## id ist meist sinnvoll damit in der Parent App der Datensatz zugeordnet werden kann.&lt;br /&gt;
# im HTML der Eltern App einen v-on mit diesem Event anlegen z.B. @toggle-state=&amp;quot;toggleState&amp;quot;&lt;br /&gt;
# in der gebundenen Methode in der Eltern App verarbeiten z.b. toggleState(id){ //ie. store in db }&lt;br /&gt;
&lt;br /&gt;
Beispiel - es soll ein isFavourite Datum aus der Kindkomponente (Friendcontact.vue) gesetzt werden. Mit Klick auf den Button wird ein CustomEvent gesendet. Dieses wird in der Parent App ausgewertet und in den Daten gesezt. Über das v-bind in der Parent App wird es zurück in die h2 der Kind Komponente gesendet und diese aktualisiert.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;FriendContact.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;{{name}} {{isFavourite ? &amp;#039;(*)&amp;#039; : &amp;#039;&amp;#039;}}&amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;button @click=&amp;quot;toggleFavourite&amp;quot;&amp;gt;Toggle Favourite&amp;lt;/button&amp;gt;&lt;br /&gt;
        &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
    props:{&lt;br /&gt;
        id: {type: String, required: true},&lt;br /&gt;
        //...&lt;br /&gt;
        isFavourite: {type: Boolean, required: false, default: false}&lt;br /&gt;
    },&lt;br /&gt;
    emits:[&amp;#039;toggle-favourite&amp;#039;], // emits object is optional and just for documentation purpose&lt;br /&gt;
    methods:{&lt;br /&gt;
        toggleFavourite(){&lt;br /&gt;
            this.$emit(&amp;#039;toggle-favourite&amp;#039;, this.id); &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;section&amp;gt;&lt;br /&gt;
    &amp;lt;header&amp;gt;&amp;lt;h1&amp;gt;My Friends&amp;lt;/h1&amp;gt;&amp;lt;/header&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
         &amp;lt;friend-contact &lt;br /&gt;
         v-for=&amp;quot;friend in friends&amp;quot;&lt;br /&gt;
         :key=&amp;quot;friend.id&amp;quot;&lt;br /&gt;
         :id=&amp;quot;friend.id&amp;quot;&lt;br /&gt;
         :name=&amp;quot;friend.name&amp;quot; &lt;br /&gt;
         //...&lt;br /&gt;
         :is-favourite=&amp;quot;friend.isFavourite&amp;quot;&lt;br /&gt;
         @toggle-favourite=&amp;quot;toggleFavouriteState&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;/friend-contact&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
import FriendContact from &amp;#039;./components/FriendContact.vue&amp;#039;&lt;br /&gt;
export default {&lt;br /&gt;
  components: { &lt;br /&gt;
      FriendContact&lt;br /&gt;
    }, &lt;br /&gt;
    data(){&lt;br /&gt;
        return {&lt;br /&gt;
            friends:[&lt;br /&gt;
                {&lt;br /&gt;
                    id: &amp;#039;yvonne&amp;#039;,&lt;br /&gt;
                    name: &amp;#039;Yvonne Oßwald&amp;#039;,&lt;br /&gt;
                    phone: &amp;#039;49 123 456&amp;#039;,&lt;br /&gt;
                    email: &amp;#039;post@yvonneosswals.de&amp;#039; &lt;br /&gt;
                },&lt;br /&gt;
                {&lt;br /&gt;
                    id: &amp;#039;finn&amp;#039;,&lt;br /&gt;
                    name: &amp;#039;Finn Schlegel&amp;#039;,&lt;br /&gt;
                    phone: &amp;#039;49 456 789&amp;#039;,&lt;br /&gt;
                    email: &amp;#039;post@finnschlegel.de&amp;#039; ,&lt;br /&gt;
                    isFavourite: true&lt;br /&gt;
                },&lt;br /&gt;
            ]&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    methods:{&lt;br /&gt;
        toggleFavouriteState(friendId){&lt;br /&gt;
            const identifiedFriend = this.friends.find(&lt;br /&gt;
                (friend) =&amp;gt; friend.id === friendId // eq: function(friend){return friend.id...}&lt;br /&gt;
                // this callback is executed on every friend (array item)&lt;br /&gt;
                // first item match is returned&lt;br /&gt;
            )&lt;br /&gt;
            // identifiedFriend is a proxy which handles the origin array element of friends array&lt;br /&gt;
            // thats why we can modify identifiedFriend and friends will be altered too&lt;br /&gt;
            // console.log(&amp;#039;identifiedFriend: &amp;#039; + identifiedFriend.id)&lt;br /&gt;
            identifiedFriend.isFavourite = !identifiedFriend.isFavourite&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== provide und inject ===&lt;br /&gt;
Manchmal hat man eine Art &amp;quot;Passthrough&amp;quot; Komponenten.&lt;br /&gt;
&lt;br /&gt;
Dies bedeutet, dass diese Komponenten keine eigene Logik für eingehende props oder ausgehende emits zur Verfügung stellen sondern diese nur an die nächste Ebene (props an die Kind-Komponente und emit an die Elternelemente weitergeben.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
&amp;lt;knowledge-base :topics=&amp;quot;topics&amp;quot; @select-topic=&amp;quot;activateTopic&amp;quot;&amp;gt;&amp;lt;/knowledge-base&amp;gt;&lt;br /&gt;
&amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
  data() {&lt;br /&gt;
    return {&lt;br /&gt;
      topics: [&lt;br /&gt;
        {&lt;br /&gt;
          id: &amp;#039;basics&amp;#039;,&lt;br /&gt;
          title: &amp;#039;The Basics&amp;#039;,&lt;br /&gt;
          description: &amp;#039;Core Vue basics you have to know&amp;#039;,&lt;br /&gt;
          fullText:&lt;br /&gt;
            &amp;#039;Vue is a great framework and it has a couple of key concepts: Data binding, events, components and reactivity - that should tell you something!&amp;#039;,&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          id: &amp;#039;components&amp;#039;,&lt;br /&gt;
          title: &amp;#039;Components&amp;#039;,&lt;br /&gt;
          description:&lt;br /&gt;
            &amp;#039;Components are a core concept for building Vue UIs and apps&amp;#039;,&lt;br /&gt;
          fullText:&lt;br /&gt;
            &amp;#039;With components, you can split logic (and markup) into separate building blocks and then combine those building blocks (and re-use them) to build powerful user interfaces.&amp;#039;,&lt;br /&gt;
        },&lt;br /&gt;
      ],&lt;br /&gt;
      activeTopic: null,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
  methods: {&lt;br /&gt;
    activateTopic(topicId) {&lt;br /&gt;
      this.activeTopic = this.topics.find((topic) =&amp;gt; topic.id === topicId);&lt;br /&gt;
    },&lt;br /&gt;
  },&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KnowledgeBase.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier werden die Props und das event quasi nur durchgeleitet.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;knowledge-grid :topics=&amp;quot;topics&amp;quot; @select-topic=&amp;quot;$emit(&amp;#039;select-topic&amp;#039;, $event)&amp;quot;&amp;gt;&amp;lt;/knowledge-grid&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default { props: [&amp;#039;topics&amp;#039;], emits: [&amp;#039;select-topic&amp;#039;],};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KnowledgeGrid.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier werden die Props zwar in der for Schleife genutzt, das select-topic event wird durchgeleitet.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;knowledge-element&lt;br /&gt;
      v-for=&amp;quot;topic in topics&amp;quot;&lt;br /&gt;
      :key=&amp;quot;topic.id&amp;quot;&lt;br /&gt;
      :id=&amp;quot;topic.id&amp;quot;&lt;br /&gt;
      :topic-name=&amp;quot;topic.title&amp;quot;&lt;br /&gt;
      :description=&amp;quot;topic.description&amp;quot;&lt;br /&gt;
      @select-topic=&amp;quot;$emit(&amp;#039;select-topic&amp;#039;, $event)&amp;quot;&lt;br /&gt;
    &amp;gt;&amp;lt;/knowledge-element&amp;gt;&lt;br /&gt;
&amp;lt;/template&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default { props: [&amp;#039;topics&amp;#039;], emits: [&amp;#039;select-topic&amp;#039;]};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KnowledgeElement.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier wird schließlich das Event select-topic erzeugt.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;button @click=&amp;quot;$emit(&amp;#039;select-topic&amp;#039;, id)&amp;quot;&amp;gt;Learn More&amp;lt;/button&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== provide und inject eine Eigenschaft ====&lt;br /&gt;
Mit dem Provide Objekt kannst du Properties bereitstellen und mit inject in einer anderen Komponente nutzbar machen. Hinweis: Du kannst nur &amp;#039;&amp;#039;&amp;#039;in Richtung der Kindelemente&amp;#039;&amp;#039;&amp;#039; injecten. Im Beispiel oben möchten wir die topics direkt zu KnowledgeGrid.vue senden. Das geht folgendermaßen&lt;br /&gt;
* provide Object in App.vue hinzufügen und Daten hinzufügen&lt;br /&gt;
* statt dem props Object die Daten mit inject nutzen&lt;br /&gt;
In App.vue ergänzen wir die configuration objects um das provide object (z.b. unter dem data) object&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//..&lt;br /&gt;
provide() {&lt;br /&gt;
    return {topics:this.topics}&lt;br /&gt;
},&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wir stellen also eine Eigenschaft &amp;quot;topics&amp;quot; zum injecten (nutzen) bereit. Der Name ist frei wählbar. Hier kopieren wir einfach das schon vorhandene topics Ojekt aus data. Man kann aber auch eigene Objekte definieren.&lt;br /&gt;
&lt;br /&gt;
Um das jetzt in KnowledgeGrid zu nutzen müssen wir dort das inject Objekt nutzen. Es ersetzt in diesem Fall vollständig die props. Daher schreiben wir statt props einfach inject:&lt;br /&gt;
 inject: [&amp;#039;topics&amp;#039;],&lt;br /&gt;
&lt;br /&gt;
==== provide und inject für custom events ====&lt;br /&gt;
provide und inject funktionieren auch mit Methoden. So können einfach die Methode (oder besser den Zeiger auf eine Methode) injekten. &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;App.vue - provide object&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 selectTopic: this.activateTopic // point at the method&lt;br /&gt;
In KnowledgeElement injekten wir:&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KnowledgeElement.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 inject: [&amp;#039;selectTopic&amp;#039;],&lt;br /&gt;
und schreiben den button etwas um:&lt;br /&gt;
  &amp;lt;button @click=&amp;quot;selectTopic(id)&amp;quot;&amp;gt;Learn More&amp;lt;/button&amp;gt;&lt;br /&gt;
==== Komplettes Beispiel ====&lt;br /&gt;
App.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;div&amp;gt;&lt;br /&gt;
    &amp;lt;active-element&lt;br /&gt;
      :topic-title=&amp;quot;activeTopic &amp;amp;&amp;amp; activeTopic.title&amp;quot;&lt;br /&gt;
      :text=&amp;quot;activeTopic &amp;amp;&amp;amp; activeTopic.fullText&amp;quot;&lt;br /&gt;
    &amp;gt;&amp;lt;/active-element&amp;gt;&lt;br /&gt;
    &amp;lt;knowledge-base&amp;gt;&amp;lt;/knowledge-base&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
  data() {&lt;br /&gt;
    return {&lt;br /&gt;
      topics: [&lt;br /&gt;
        {&lt;br /&gt;
          id: &amp;#039;basics&amp;#039;,&lt;br /&gt;
          title: &amp;#039;The Basics&amp;#039;,&lt;br /&gt;
          description: &amp;#039;Core Vue basics you have to know&amp;#039;,&lt;br /&gt;
          fullText:&lt;br /&gt;
            &amp;#039;Vue is a great framework and it has a couple of key concepts: Data binding, events, components and reactivity - that should tell you something!&amp;#039;,&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
          id: &amp;#039;components&amp;#039;,&lt;br /&gt;
          title: &amp;#039;Components&amp;#039;,&lt;br /&gt;
          description:&lt;br /&gt;
            &amp;#039;Components are a core concept for building Vue UIs and apps&amp;#039;,&lt;br /&gt;
          fullText:&lt;br /&gt;
            &amp;#039;With components, you can split logic (and markup) into separate building blocks and then combine those building blocks (and re-use them) to build powerful user interfaces.&amp;#039;,&lt;br /&gt;
        },&lt;br /&gt;
      ],&lt;br /&gt;
      activeTopic: null,&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
  provide() {&lt;br /&gt;
    return {&lt;br /&gt;
      topics: this.topics,&lt;br /&gt;
      selectTopic: this.activateTopic // point at the method&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  methods: {&lt;br /&gt;
    activateTopic(topicId) {&lt;br /&gt;
      this.activeTopic = this.topics.find((topic) =&amp;gt; topic.id === topicId);&lt;br /&gt;
    },&lt;br /&gt;
  },&lt;br /&gt;
  // use a hook to simulate data changes&lt;br /&gt;
  // this proves, that data in provide is updated too&lt;br /&gt;
  mounted(){&lt;br /&gt;
    setTimeout(&lt;br /&gt;
      () =&amp;gt; {&lt;br /&gt;
        this.topics.push({&lt;br /&gt;
          id: &amp;#039;events&amp;#039;,&lt;br /&gt;
          title: &amp;#039;Events&amp;#039;,&lt;br /&gt;
          description:&lt;br /&gt;
            &amp;#039;Events are important in vue&amp;#039;,&lt;br /&gt;
          fullText:&lt;br /&gt;
            &amp;#039;Events allow you to trigger code on demand.&amp;#039;,&lt;br /&gt;
        })&lt;br /&gt;
      },&lt;br /&gt;
      3000&lt;br /&gt;
    )&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
/* styling goes here */&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KnowledgeBase.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;section&amp;gt;&lt;br /&gt;
    &amp;lt;h2&amp;gt;Select a Topic&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;knowledge-grid&amp;gt;&amp;lt;/knowledge-grid&amp;gt;&lt;br /&gt;
  &amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KnowledgeGrid.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;knowledge-element&lt;br /&gt;
      v-for=&amp;quot;topic in topics&amp;quot;&lt;br /&gt;
      :key=&amp;quot;topic.id&amp;quot;&lt;br /&gt;
      :id=&amp;quot;topic.id&amp;quot;&lt;br /&gt;
      :topic-name=&amp;quot;topic.title&amp;quot;&lt;br /&gt;
      :description=&amp;quot;topic.description&amp;quot;&lt;br /&gt;
    &amp;gt;&amp;lt;/knowledge-element&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
  inject: [&amp;#039;topics&amp;#039;],&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KnowledgeElement.vue&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    &amp;lt;h3&amp;gt;{{ topicName }}&amp;lt;/h3&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;{{ description }}&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;button @click=&amp;quot;selectTopic(id)&amp;quot;&amp;gt;Learn More&amp;lt;/button&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
  inject: [&amp;#039;selectTopic&amp;#039;], // we expect a function named selectTopic&lt;br /&gt;
  props: [&amp;#039;id&amp;#039;, &amp;#039;topicName&amp;#039;, &amp;#039;description&amp;#039;],&lt;br /&gt;
  emits: [&amp;#039;select-topic&amp;#039;],&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Global / Local ==&lt;br /&gt;
Bisher haben wir Komponenten in main.js global registriert. Das ist sinnvoll bei &amp;quot;General Purpose Components&amp;quot; oder wenn Sie in vielen anderen Komponenten eingesetzt werden sollen.&lt;br /&gt;
Global&lt;br /&gt;
* Überall verfügbar, auch wenn nicht genutzt&lt;br /&gt;
* Muss beim ersten Aufruf der Seite vom Browser geladen werden (Performance)&lt;br /&gt;
main.js&lt;br /&gt;
 import BaseBadge from &amp;#039;./components/BaseBadge.vue&amp;#039;;&lt;br /&gt;
 const app = createApp(App);&lt;br /&gt;
 app.component(&amp;#039;base-badge&amp;#039;, BaseBadge);&lt;br /&gt;
 app.mount(&amp;#039;#app&amp;#039;);&lt;br /&gt;
Oft ist es besser Komponenten nur dort zu registrieren wo sie benötigt werden. &lt;br /&gt;
App.vue - &amp;lt;script&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import TheHeader from &amp;#039;./components/TheHeader.vue&amp;#039;;&lt;br /&gt;
import BadgeList from &amp;#039;./components/BadgeList.vue&amp;#039;;&lt;br /&gt;
import UserInfo from &amp;#039;./components/UserInfo.vue&amp;#039;;&lt;br /&gt;
export default {&lt;br /&gt;
  components: {&lt;br /&gt;
    TheHeader,&lt;br /&gt;
    // or &amp;#039;the-header&amp;#039;: TheHeader,&lt;br /&gt;
    // or TheHeader : TheHeader&lt;br /&gt;
    BadgeList,&lt;br /&gt;
    UserInfo,&lt;br /&gt;
  },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Diese Komponenten sind nur in App.vue verfügbar. Du kannst Sie natürlich über import auch in weiteren Komponenten nutzen.&lt;br /&gt;
&lt;br /&gt;
=== scoped styling ===&lt;br /&gt;
Mit dem Attribut scoped werden Styles nur für die Komponente angewendet.&lt;br /&gt;
 &amp;lt;style scoped&amp;gt;&lt;br /&gt;
Best practice: Globale Styles in App.vue&lt;br /&gt;
&lt;br /&gt;
== Slots ==&lt;br /&gt;
Slots sind eine Art Wrapper für eine Kind-Komponente. &lt;br /&gt;
&lt;br /&gt;
Komponenten können in einem Template nicht ineinander Verschachtelt werden. Manchmal möchte man aber genau das haben um z.B. ein gestyltes Element (z.b. eine Card) wiederverwenden zu können. Der Inhalt soll aber über eine andere Komponente gerendert werden. So kann man z.B. Styles gut wiederverewnden.&lt;br /&gt;
* Komponente registrieren (oft in main.js da man sie global haben möchte)&lt;br /&gt;
* &amp;lt;slot&amp;gt;&amp;lt;/slot&amp;gt; Tag in die Slot Komponente einfügen&lt;br /&gt;
* in der Kindkomponente einfach den custom Tag der Komponente als Wrapper nutzen&lt;br /&gt;
Für solche Zwecke gibt es Slots.&lt;br /&gt;
BaseCard.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
        &amp;lt;slot&amp;gt;&amp;lt;/slot&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;style scoped&amp;gt;&lt;br /&gt;
div {&lt;br /&gt;
  margin: 2rem auto;&lt;br /&gt;
  max-width: 30rem;&lt;br /&gt;
  border-radius: 12px;&lt;br /&gt;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.26);&lt;br /&gt;
  padding: 1rem;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ChildComponent.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;base-card&amp;gt;&lt;br /&gt;
      &amp;lt;header&amp;gt;&lt;br /&gt;
        &amp;lt;h3&amp;gt;{{ fullName }}&amp;lt;/h3&amp;gt;&lt;br /&gt;
        &amp;lt;base-badge :type=&amp;quot;role&amp;quot; :caption=&amp;quot;role.toUpperCase()&amp;quot;&amp;gt;&amp;lt;/base-badge&amp;gt;&lt;br /&gt;
      &amp;lt;/header&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;{{ infoText }}&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/base-card&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
  props: [&amp;#039;fullName&amp;#039;, &amp;#039;infoText&amp;#039;, &amp;#039;role&amp;#039;],&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style scoped&amp;gt;&lt;br /&gt;
div header {&lt;br /&gt;
  display: flex;&lt;br /&gt;
  justify-content: space-between;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So wie die props zum Transport von Daten dienen, so dienen die Slots zum Transport von dynamischem HTML Code zwischen den Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Named Slots - v-slot===&lt;br /&gt;
Mit Named Slots kann man mehrere Slots nutzen, und damit auch komplexere Templates erzeugen. Dazu gibt es die Direktive &amp;#039;&amp;#039;&amp;#039;v-slot&amp;#039;&amp;#039;&amp;#039;. Wir nutzen zusätzlich das Standard HTML Tag &amp;lt;template&amp;gt; Das bietet sich an, da es keinen Inhat - also nicht mal eine Leerzeile - ausgibt.&lt;br /&gt;
 v-slot:[slotname]&lt;br /&gt;
statt v-slot: kann man auch den Shortcut # nehmen: &lt;br /&gt;
 #[slotname]&lt;br /&gt;
&lt;br /&gt;
Beispiel BaseCard.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
        &amp;lt;header&amp;gt;&lt;br /&gt;
            &amp;lt;slot name=&amp;quot;headline&amp;quot;&amp;gt;&amp;lt;/slot&amp;gt;&lt;br /&gt;
        &amp;lt;/header&amp;gt;&lt;br /&gt;
        &amp;lt;slot&amp;gt;&amp;lt;/slot&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Kindkomponente&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;base-card&amp;gt;&lt;br /&gt;
      &amp;lt;template v-slot:headline&amp;gt;&lt;br /&gt;
        &amp;lt;h3&amp;gt;{{ fullName }}&amp;lt;/h3&amp;gt;&lt;br /&gt;
        &amp;lt;base-badge :type=&amp;quot;role&amp;quot; :caption=&amp;quot;role.toUpperCase()&amp;quot;&amp;gt;&amp;lt;/base-badge&amp;gt;&lt;br /&gt;
      &amp;lt;/template&amp;gt;&lt;br /&gt;
      &amp;lt;template v-slot:default&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;{{ infoText }}&amp;lt;/p&amp;gt;&lt;br /&gt;
      &amp;lt;/template&amp;gt;&lt;br /&gt;
  &amp;lt;/base-card&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Default Content für Slots ===&lt;br /&gt;
Du kannst default Inhalt anzeigen wenn die Kindkomponente keinen Inhalt für einen Slot hat.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;slot name=&amp;quot;headline&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;h2&amp;gt;This default fallback content be shown if no content is provided&amp;lt;/h2&amp;gt;&lt;br /&gt;
 &amp;lt;/slot&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== v-if mit $slots ===&lt;br /&gt;
Manche Slots möchte man nur anzeigen wenn auch Inhalt dafür vorhanden ist. Ansonsten soll auch das umgebende Tag nicht ausgegeben werden. Dies kann man mit v-if und der $slots Variablen erreichen.&lt;br /&gt;
&lt;br /&gt;
$slots enthält die Daten für einen aktuellen Slot. Das Nutzen wir über ein v-if:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;header v-if=&amp;quot;slots.headline&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;slot name=&amp;quot;headline&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;/slot&amp;gt;&lt;br /&gt;
&amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
So wird die headline nur ausgegeben, wenn sie auch vorhanden ist.&lt;br /&gt;
&lt;br /&gt;
Tipp: Den Inhalt von $slots kannst du dir über einen Hook in der Konsole ausgeben lassen:&lt;br /&gt;
    mounted(){&lt;br /&gt;
        console.log(this.$slots.headline)&lt;br /&gt;
    }&lt;br /&gt;
=== scoped Slots ===&lt;br /&gt;
Scoped Slots erlauben es Daten vom Slot der Komponente zur Parent App zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Du kannst einfach im Slot Tag Attribute definieren, die dann in einem Objekt in der Eltern Komponente genutzt werden können:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li v-for=&amp;quot;goal in goals&amp;quot; :key=&amp;quot;goal&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;slot :item=&amp;quot;goal&amp;quot; another-prop=&amp;quot;hello&amp;quot;&amp;gt;&amp;lt;/slot&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
    data() {&lt;br /&gt;
        return {&lt;br /&gt;
            goals: [&amp;#039;Finish the coarse&amp;#039;, &amp;#039;Learn Vue&amp;#039;],&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und sie in der Elternkomponente auswerten.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Main App&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;course-goals&amp;gt;&lt;br /&gt;
      &amp;lt;template #default=&amp;quot;myProps&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h4&amp;gt;{{ myProps.item }}&amp;lt;/h4&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;{{ myProps.anotherProp }}&amp;lt;/p&amp;gt;&lt;br /&gt;
      &amp;lt;/template&amp;gt;&lt;br /&gt;
    &amp;lt;/course-goals&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Template Tag kann man den Slot (hier default auslesen und in eine beliebige Variable (hier myProps) schreiben. &amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; in aktuellen Vue Versionen kann man camelCase Schreibweise nutzen und Vue konvertiert automatisch.&lt;br /&gt;
&lt;br /&gt;
== Dynamic Components &amp;lt;component&amp;gt; ==&lt;br /&gt;
Mit dem &amp;#039;&amp;#039;&amp;#039;component Tag und dem is Attribut&amp;#039;&amp;#039;&amp;#039; kannst du Komponenten dynamisch anzeigen. Das heißt an der Stelle von &amp;lt;component&amp;gt; können unterschiedliche Komponenten angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;component v-bind:is=&amp;quot;selectedComponent&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier wird die Komponente mit dem Namen der in der Variablen selectedComponent steckt angezeigt.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;keep-alive&amp;gt; component ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;keep-alive&amp;gt;&lt;br /&gt;
      &amp;lt;component v-bind:is=&amp;quot;selectedComponent&amp;quot;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
    &amp;lt;/keep-alive&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
KeepAlive ist eine Vue-Interne Komponente, die oft mit dynamischen Komponenten in Verbindung eingesetzt wird. Da Komponenten wenn sie nicht mehr benötigt werden aus dem DOM entfernt werden, sind auch User-Inhalte wie die Eingabe in einem Input Feld gelöscht, wenn sie später wieder angezeigt werden. &lt;br /&gt;
 &lt;br /&gt;
Wrapt man die Komponente mit keep-alive werden die Inhalte vor dem Löschen gecacht und können später wieder hergestellt werden.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;teleport&amp;gt; ===&lt;br /&gt;
Teleport ist eine eingebaute Vue Komponente. Mit dieser kannst Du DOM Elemente in andere Bereiche &amp;quot;teleportieren&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dies kann z.b. für Modal Fenster sinnvoll sein, die man aus semantischen Gründen lieber auf der App oder &amp;lt;body&amp;gt; Ebene haben möchte anstatt tief vergraben im DOM&lt;br /&gt;
  &lt;br /&gt;
 &amp;lt;teleport to=&amp;quot;#selector&amp;quot;&amp;gt;&amp;lt;/teleport&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Teleport benötigt &amp;#039;&amp;#039;&amp;#039;das Attribut to&amp;#039;&amp;#039;&amp;#039;, in dem man einen CSS-Selector angibt, wo das Element eingehängt werden soll.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;teleport to=&amp;quot;#app&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;error-alert v-if=&amp;quot;inputIsInvalid&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;h2&amp;gt;Input is invalid&amp;lt;/h2&amp;gt;&lt;br /&gt;
     &amp;lt;p&amp;gt;Please enter something.&amp;lt;/p&amp;gt;&lt;br /&gt;
     &amp;lt;button @click=&amp;quot;confirmModal&amp;quot;&amp;gt;Okay&amp;lt;/button&amp;gt;&lt;br /&gt;
  &amp;lt;/error-alert&amp;gt;&lt;br /&gt;
&amp;lt;/teleport&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom Form Control ==&lt;br /&gt;
Wenn man v-model in einer eigenen Component nutzt &lt;br /&gt;
&amp;lt;my-component v-model=&amp;quot;myProp&amp;quot;&amp;gt;&amp;lt;/my-component&amp;gt;&lt;br /&gt;
macht Vue im Prinzip eine Kombi aus event listener und binding mit diesen Objekten:&lt;br /&gt;
&amp;lt;my-component :model-value=&amp;quot;&amp;quot; @update:modelValue=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/my-component&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese stehen daher in der Komponente so zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
Beispiel RatingControl.vue&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;button :class=&amp;quot;{active: modelValue === &amp;#039;poor&amp;#039;}&amp;quot; @click=&amp;quot;activate(&amp;#039;poor&amp;#039;)&amp;quot; type=&amp;quot;button&amp;quot;&amp;gt;Poor&amp;lt;/button&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;button :class=&amp;quot;{active: modelValue === &amp;#039;average&amp;#039;}&amp;quot; @click=&amp;quot;activate(&amp;#039;average&amp;#039;)&amp;quot; type=&amp;quot;button&amp;quot;&amp;gt;Average&amp;lt;/button&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;button :class=&amp;quot;{active: modelValue === &amp;#039;great&amp;#039;}&amp;quot; @click=&amp;quot;activate(&amp;#039;great&amp;#039;)&amp;quot; type=&amp;quot;button&amp;quot;&amp;gt;Great&amp;lt;/button&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
export default {&lt;br /&gt;
    props:[&amp;#039;model-value&amp;#039;],&lt;br /&gt;
    emits: [&amp;#039;update:modelValue&amp;#039;],&lt;br /&gt;
    methods:{&lt;br /&gt;
        activate(option){&lt;br /&gt;
            this.$emit(&amp;#039;update:modelValue&amp;#039;, option);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Parent&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;rating-control v-model=&amp;quot;rating&amp;quot;&amp;gt;&amp;lt;/rating-control&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
import RatingControl from &amp;#039;./RatingControl.vue&amp;#039;&lt;br /&gt;
export default {&lt;br /&gt;
  components:{&lt;br /&gt;
    RatingControl&lt;br /&gt;
  },&lt;br /&gt;
  data(){&lt;br /&gt;
    return {&lt;br /&gt;
      rating: null&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  methods: {&lt;br /&gt;
    submitForm(){&lt;br /&gt;
      console.log(&amp;#039;Rating: &amp;#039; + this.rating);&lt;br /&gt;
      this.rating = null;&lt;br /&gt;
   },&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>37.49.72.8</name></author>
	</entry>
</feed>