Anhänge nach Datentyp in PowerApps einschränken

Anhänge nach Datentyp in PowerApps einschränken

Eine immer wieder auftauchende Anfrage bei digitalen Prozessen ist die Beschränkbarkeit von Anhangsdokumenten. Bei der Bewerbung sollen beispielsweise nur PDFs angehängt werden können; das IT-Ticket darf nur mit Bildern ergänzt werden.

Das “Attachments”-Steuerelement in PowerApps-Formularen bringt (Stand: Oktober 2019) leider keine Filterung für Datentypen mit. Doch glücklicherweise lässt sich diese Funktionalität relativ unkompliziert mit weniger kleinen Formeln nachbauen.

Zwischenablage erstellen

Als erstes benötigen wir eine Zwischenablage für die Validierung. Dazu erzeugen wir einen neuen Screen und fügen dort ein Label ein.

Der zusätzliche Screen ist nicht zwingend notwendig, aber so hat das Label einen ordentlichen Platz, an dem es nicht stört.

Für den Text-Wert des Labels fügen wir jetzt folgende Funktion ein:

Concat(DataCardValueXX.Attachments.Name,
    If(
       Or(
           Lower(Right(Name,Len(Name)-Find(“.”,Name)))=”pdf”,
           Lower(Right(Name,Len(Name)-Find(“.”,Name)))=”doc”,
           Lower(Right(Name,Len(Name)-Find(“.”,Name)))=”docx”
       ),
    “1”,”0″))

DataCardValueXX wird durch den Namen des Attachment-Steuerelements ersetzt – Wichtig: NICHT der Name der DataCard selbst, sondern der Name des Attachment-Steuerelements in der DataCard.

Erklärung zur Funktion

Die Funktion liest alle angefügten Dateinamen, extrahiert die Endungen und fügt für erlaubte Endungen eine “1” und für nicht erlaubte Endungen eine “0” an.

  • Concat
    • Baut eine Zeichenkette aus einer Sammlung von Werten zusammen. In diesem Falle ist die Sammlung der Werte die Eigenschaft “Attachments.Name” unseres Attachment-Steuerelements.
  • Or-Block
    • Für jeden erlaubten Datentyp gibt es eine Abfrage im “Or”-Block.
  • Right(Name,Len(Name)-Find(“.”,Name))
    • Mit Hilfe der “Right”- und “Len”-Funktionen wird der Text nach dem “.” im jeweiligen Datennamen, also die Dateiendung, extrahiert.
  • Lower([…])=”pdf”
    • Die “Lower”-Funktion wird verwendet, um die Dateiendung in Kleinbuchstaben zu erhalten. Da Textabgleiche in PowerApps case-sensitive sind, sparen wir uns so die Abfrage der Dateitypen in mehreren Schreibweisen.

Abfrage beim Senden des Formulars

Wenn alles funktioniert hat, zeigt das Label jetzt einen Binärwert, der anzeigt, ob sich ungültige Dateitypen unter den Anhängen befinden. Auf diesen Wert können wir jetzt beim Abschicken des Formulars prüfen.

In meinem Beispiel wird das Formular – wie i.d.R. üblich – über einen Button abgeschickt. Die “OnSelect”-Funktion des Buttons wird jetzt wie folgt ergänzt:

If(
    IsMatch(lbl_attachmentValidation.Text,”0″,Contains),
    Notify(“Ungültiger Datentyp angehängt.”,NotificationType.Error),
    [… BISHERIGE FUNKTION …]
)

Erklärung zur Funktion

Wie beschrieben, prüft die Funktion auf 0-Werte innerhalb unseres Validierungstextes. Sind 0-Werte vorhanden, wird ein Fehler ausgegeben. Sind keine vorhanden, wird die bereits bestehende Funktion des Buttons – in diesem Fall “SubmitForm()” – ausgeführt.

  • IsMatch
    • Prüft, ob es eine Übereinstimmung mit einem regulären Ausdruck im Text gibt. In diesem Fall ist der reguläre Ausdruck einfach “0”. Wichtig ist hier die zusätzliche Angabe der Option “Contains”, da “IsMatch” sonst den vollständigen Text vergleichen würde.
  • Notify
    • Gibt eine Meldung aus. Der NotificationType bestimmt die Farbe und das Icon der Meldung. Die Funktion lässt sich wohl als White- als auch als Black-List nutzen. Dafür einfach auf “1” statt auf “0” prüfen lassen.

Fazit

Die Prüfung auf verschiedene Datentypen im Anhang von PowerApps-Formularen lässt sich relativ unproblematisch hinzufügen und nachträglich anpassen. Durch das Label auf dem gesonderten Screen gibt es darüber hinaus eine einfache Möglichkeit die Funktion zu testen und nachzuvollziehen.

Es ist auch möglich, die Funktionen so anzupassen, dass der Ergebnistext die unerlaubten Dateinamen enthält. Diese können dann z.B. in der Meldung ausgegeben werden.

Viel Spaß beim Ausprobieren.

Weitere Blogbeiträge

Drei Tipps für mehr SharePoint-Begeisterung
Blog
Blog

Drei Tipps für mehr SharePoint-Begeisterung

Wir geben Tipps zur der Microsoft Serverplattform für Content Management, (Social)-Collaboration, Portalfunktion, Business Intelligence und Enterprise Search.

Azure Functions: Der Webservice ohne Webserver
Blog
Blog

Azure Functions: Der Webservice ohne Webserver

Azure Functions als Authentifizierungs-Helfer für clientseitige Lösungen mit 3rd Party APIs

Teams Extensions – Erstellen von Erweiterungen für Teams
Blog
Blog

Teams Extensions – Erstellen von Erweiterungen für Teams

Mit der Entwicklung von Extensions kann Teams einfach erweitert werden. Hierfür gibt es das App Studio, welches über den Teams Store installiert werden kann.

.NET-Anwendung hinter Proxy-Servern, Kommunikation mit Azure
Blog
Blog

.NET-Anwendung hinter Proxy-Servern, Kommunikation mit Azure

Praktische Beispiele für die Anwendung von Proxy-Servern bei .NET-Apps und -Websites sowie die Kommunikation über den Azure Service Bus.

DevOps und „The Phoenix Project“
Blog
Blog

DevOps und „The Phoenix Project“

Buchvorstellung "Projekt Phoenix: Der Roman über IT und DevOps - Neue Erfolgsstrategien für Ihre Firma" von Gene Kim.

Ich bin im Flow! – Eine Übersicht zu Microsoft Flow
Blog
Blog

Ich bin im Flow! – Eine Übersicht zu Microsoft Flow

Die Power Platform wird aktuell von Microsoft sehr stark gepusht. Zeit, sich mit dem Potenzial der einzelnen Komponenten zu beschäftigen. Heute: Flow.

DevOps und Container
Blog
Blog

DevOps und Container

DevOps an sich ist nicht an eine Technologie gebunden, jedoch haben sich Container-Technologien und DevOps als Verwandte im Geiste gefunden.

Paket Dependency Manager für .NET
Blog
Blog

Paket Dependency Manager für .NET

Paket ist ein Dependency Manager für .NET, welcher es sich zum Ziel gesetzt hat einige Probleme von NuGet zu beheben.

Tipps und Tricks mit Entity Framework
Blog
Blog

Tipps und Tricks mit Entity Framework

In diesem Blogbeitrag möchte ich einige Tipps und Tricks rund um Entity Framework mit euch teilen. In allen Beispielen gehen wir vom Code-First Ansatz aus.

Grundlagen der Gestaltung
Blog
Blog

Grundlagen der Gestaltung

Die Gestaltgesetze der Wahrnehmungspsychologie

Hub Sites – Neues Level der Vernetzung
Blog
Blog

Hub Sites – Neues Level der Vernetzung

Mit der Einführung der Modern Sites auf SharePoint Online hielt ein komplett neues Bedienungs-, Oberflächen- und Nutzungskonzept Einzug. Microsoft führt diese O...

Hybride Metadaten und Inhaltstypen
Blog
Blog

Hybride Metadaten und Inhaltstypen

Dies sollten Sie bei der Verwaltung von Metadaten in hybriden SharePoint-Umgebungen beachten, um eine reibungslose Synchronisation zu sichern.

SharePoint-Migration unter Einhaltung der BITV 2
Blog
Blog

SharePoint-Migration unter Einhaltung der BITV 2

Einhaltung aller Vorgaben durch die BITV 2 bei einer Migration von SharePoint Server 2013 zu 2016.

SharePoint vs. TYPO3 – Sechs Gründe für SharePoint-Intranet
Blog
Blog

SharePoint vs. TYPO3 – Sechs Gründe für SharePoint-Intranet

Hier lesen Sie die sechs wichtigsten Argumente, warum Sie Office 365 mit SharePoint für Ihre Intranetlösung gegenüber TYPO3 bevorzugen sollten.

Corporate News – Das zentrale Medium interner Kommunikation
Blog
Blog

Corporate News – Das zentrale Medium interner Kommunikation

Um die Akzeptanz des unternehmenseigenen Intranets zu steigern, sind Corporate News ein erster Schritt, um Neuigkeiten, Strategie und Strukturen gleichmäßig zu ...

End of Life – Eine Applikation wird abgelöst
Blog
Blog

End of Life – Eine Applikation wird abgelöst

Die Stilllegung einer Applikation im Application Lifecycle Management nicht beachtet. Dennoch sollten sie in einem ganzheitlichen Ansatz beachtet werden.

Was ist Application Lifecycle Management (ALM)?
Blog
Blog

Was ist Application Lifecycle Management (ALM)?

Application Lifecycle Management beschreibt einen ganzheitlichen Ansatz, der eine Anwendung während allen Phasen der Software begleitet.

Was kann der neue Office 365 Planner – und was kann er nicht
Blog
Blog

Was kann der neue Office 365 Planner – und was kann er nicht

„Office 365 Planner“ ist das neue Tool von Microsoft, mit dem sich Zusammenarbeit und Aufgabenverteilung in Teams organisieren lässt.

Icons im Metro-Style generieren
Blog
Blog

Icons im Metro-Style generieren

Die Erstellung von Icons im Metro-Style erweist sich als schnell und unkompliziert, wenn man dafür Syncfusion Metro Studio 4 verwendet.

Fünf Tipps für mehr SharePoint-Adoption in Unternehmen
Blog
Blog

Fünf Tipps für mehr SharePoint-Adoption in Unternehmen

SharePoint ist eine vielseitige und mächtige technologische Plattform mit vielen Funktionen. Unseren fünf Expertentipps erhöhen die Adoption.

Produktiver lernen mit SharePoint
Blog
Blog

Produktiver lernen mit SharePoint

Bringt die aktuelle Version der SharePoint-Plattform so viele neue Features mit, es zu einem perfekten Learning Management System zu machen? Wir beleuchten es.

Fünf Tipps für eine verbesserte Software-Adoption
Blog
Blog

Fünf Tipps für eine verbesserte Software-Adoption

Die Generation Y stellt im Arbeitsumfeld neue Anforderungen an Unternehmens-Software und -Systeme. Unsere fünf Tipps, um die Adoption einer Software erhöhen.

Usability in IT-Projekten
Blog
Blog

Usability in IT-Projekten

Noch immer wissen viele nicht genau, worum es bei Usability und User Experience gerade im Rahmen von IT-Projekten überhaupt geht.

Energiekekse für den Berater
Blog
Blog

Energiekekse für den Berater

Der Berater Keks! Schnelle Energie-Zufuhr, Fett verbrennen und Muskeln aufbauen bei der Arbeit war nie einfacher!

Vier Möglichkeiten, die Nutzung von CRM zu steigern
Blog
Blog

Vier Möglichkeiten, die Nutzung von CRM zu steigern

Wie man die Nutzung von CRM-Plattformen steigern kann, wird im folgenden Artikel ausführlich erklärt.

CRM-Implementierung erfolgreich meistern
Blog
Blog

CRM-Implementierung erfolgreich meistern

Es gibt keine todsichere Methode, die CRM-Implementierung erfolgreich zu gestalten. Aber es gibt Tipps und Richtlinien, die man bei einer Einführung einhalten k...

Strukturen lernen und leben – Praxis Informationsarchitektur
Blog
Blog

Strukturen lernen und leben – Praxis Informationsarchitektur

Teil 2 – Strukturen leben – Informationsarchitekturen zum Leben erwecken

Strukturen lernen und leben – Praxis Informationsarchitektur
Blog
Blog

Strukturen lernen und leben – Praxis Informationsarchitektur

Teil 1 – Strukturen lernen – Informationsarchitektur erfolgreich vertreten

Clutter sinnvoll nutzen
Blog
Blog

Clutter sinnvoll nutzen

Microsoft hat in Office 365 eine neue Funktion eingeführt. "Clutter" soll künftig im eigenen Posteingang für Ordnung sorgen und die Emailflut bereinigen.

Office 365 Groups als Evolution von SharePoint?
Blog
Blog

Office 365 Groups als Evolution von SharePoint?

Zusätzlich zu SharePoint erlauben die Office 365 Groups es mir als Anwender, schnell und einfach neue Gruppen anzulegen und selbständig Benutzer hinzuzufügen.

Change Management in IT-Projekten
Blog
Blog

Change Management in IT-Projekten

Viele IT-Projekte scheitern am Zusammenspiel verschiedener Faktoren, wie unklare Ziele, ungenügende Ressourcen, schlechte Kommunikation und fehlende User-Akzept...

Teamsite ist tot – es lebe die Group?
Blog
Blog

Teamsite ist tot – es lebe die Group?

Ob der Funktionsumfang von Groups tatsächlich reicht, um die Beerdigung für Teamsite einzuläuten, erfahrt ihr hier.

Informationsorganisation in SharePoint Intranet
Blog
Blog

Informationsorganisation in SharePoint Intranet

In vielen SharePoint Projekten findet man Informationsarchitekturen, die versuchen, die hierarchische Organisation eines Unternehmens abzubilden. Ich zeige ande...

Vier Schritte zur anwenderfreundlichen Bibliothek
Blog
Blog

Vier Schritte zur anwenderfreundlichen Bibliothek

Wäre es nicht gut eine Plattform zu haben auf der man Dokumente bereitstellen, Änderungen verfolgen und finale Versionen bereitstellen könnte? Hier unsere Tipps...

Die Geschichte von Microsoft SharePoint – Teil 3
Blog
Blog

Die Geschichte von Microsoft SharePoint – Teil 3

Der Meilenstein zur echten Collaboration wurde 2006 mit dem Release von Microsoft Office SharePoint Server 2007 „MOSS“ erreicht.

Die Geschichte von Microsoft SharePoint – Teil 2
Blog
Blog

Die Geschichte von Microsoft SharePoint – Teil 2

2003 war ein super Jahr für Microsoft. Die Produktfamilie wuchs und gemeinsames Arbeiten war der neue Trend: Es war die Sternstunde der Kollaboration.

Als anderer Benutzer anmelden in SharePoint 2013
Blog
Blog

Als anderer Benutzer anmelden in SharePoint 2013

Warum diese Funktion nun fehlt und wie man alternativ vorgeht, um sich in SharePoint 2013 als 'anderer Benutzer' anzumelden.

Einmaleins zu Inhalt und Organisation eines Intranet
Blog
Blog

Einmaleins zu Inhalt und Organisation eines Intranet

Ein auf Microsoft SharePoint basierendes Intranet vereint sowohl Informations-, Dialog- als auch Kollaborationsfunktionen. Tipps zur Organisation.

Die Geschichte von Microsoft SharePoint – Teil 1
Blog
Blog

Die Geschichte von Microsoft SharePoint – Teil 1

Mit SharePoint Team Services (STS) und SharePoint Portal Server (SPS) schuf Microsoft im Jahr 2001 die Grundlage der heutigen SharePoint-Plattform.

Farben zur Optimierung des SharePoint-Kalender
Blog
Blog

Farben zur Optimierung des SharePoint-Kalender

Auch in SharePoint kann man Kategorien für Teamkalender-Einträge farblich abheben und damit die Lesbarkeit erhöhen. Wir zeigen Ihnen, wie das geht.

Das neuste Mitglied der Office 365 Familie: Delve
Blog
Blog

Das neuste Mitglied der Office 365 Familie: Delve

Microsoft legt nach: Mit Delve startet eine neue Form des Suchens und des Auffinden von Dokumenten und Informationen.

Enterprise Content Management: Mühe scheuen, ROI verschenken
Blog
Blog

Enterprise Content Management: Mühe scheuen, ROI verschenken

Zusammenfassung und Diskussion eines Blogposts von Joe Shepley zur Wichtigkeit eines umfassenden Informationsmanagements für Enterprise Content Management.

Die Micro-Info-Architektur
Blog
Blog

Die Micro-Info-Architektur

Vertiefung zum Thema Informationsarchitektur moderner Intranets mit SharePoint: Das Micro-Management.

Die Bedeutung einer Governance
Blog
Blog

Die Bedeutung einer Governance

In der Governance-Struktur legen Sie fest, wie Sie mit Ihrer SharePoint-Umgebung arbeiten. Governance beschreibt die Rollen der Nutzer, legt Verantwortlichkeite...

Interdisziplinärer Mehrkampf in SharePoint-Projekten
Blog
Blog

Interdisziplinärer Mehrkampf in SharePoint-Projekten

In SharePoint-Projekten, speziell wenn man nicht nur einzelne Projektseiten ohne Kontext zur Verfügung stellt, sind viele unterschiedliche Disziplinen gefragt.

Ein Blick auf den Begriff „Intranet“
Blog
Blog

Ein Blick auf den Begriff „Intranet“

Welche Unternehmen brauchen eine Intranet und warum benötigen sie es? Um diese Frage sinnvoll zu beantworten, betrachten wir den Begriff „Intranet“ differenzier...

Hat Ihr Unternehmen einen Informations-Lebenszyklus?
Blog
Blog

Hat Ihr Unternehmen einen Informations-Lebenszyklus?

Jede Information hat eine Aktualitätsphase, eine Nachschlag-Phase, eine Archiv-Phase und einen Obsoleszenz-Punkt. Steuern Sie den Lebenszyklus Ihrer Information...

SharePoint und Informationsarchitektur – worauf kommt es an?
Blog
Blog

SharePoint und Informationsarchitektur – worauf kommt es an?

Wie definiert sich eine Informationsarchitektur und die Rolle eines Informationsarchitekten im SharePoint-Umfeld?

SharePoint optimieren, wenn er schlecht läuft
Blog
Blog

SharePoint optimieren, wenn er schlecht läuft

Wie Sie die fünf Anzeichen einer schlechten SharePoint-Implemetierung erkennen und diese vermeiden oder beheben, um die Performance des Systems zu verbessern.

Die Email-Falle: Overkill eines Kommunikationskanals
Blog
Blog

Die Email-Falle: Overkill eines Kommunikationskanals

Wie Sie die vier häufigsten und schwerwiegendsten Fehler bei der Email-Kommunikation in mittleren und großen Unternehmen verhindern.