Posts

SharePoint Online: Automatische Erstellung von Word und PDF-Dokument auf Basis einer Word-Vorlage

Bild
In vielen Unternehmen existieren zahlreiche Word-Vorlagen. Oft werden diese auch für Antragsformulare verwendet. Ebenfalls werden Word-Vorlagen für vorgefertigte Dokumente, wie z. B. für Verträge, hinterlegt. Diese Vorlagen enthalten oft Platzhalter für konkrete Kunden- und Stammdaten, die bei jeder Dokumentenerstellung entsprechend mit den konkreten Daten ersetzt werden müssen. Um diesen Ablauf in Zukunft zu erleichtern, wird in SharePoint Bibliotheken eine neue KI-basierte Unterstützung names "Generierung strukturierter Dokumente in einer SharePoint-Dokumentbibliothek" eingeführt. Mit der strukturierten Dokumentgenerierung können Word Dokumentvorlagen in intelligente, KI-gestützte Formulare umgewandelt werden. Wenn ein Benutzer ein Formular absendet, wird automatisch ein neues Dokument aus der Vorlage generiert, wobei die übermittelten Werte in den entsprechenden Feldern zusammengeführt werden. Dadurch werden jedes Mal konsistente, kontrollierte Dokumente erstellt, ohne da...

SPFx development: Use the this.context.pageContext

Bild
When I build solutions with the SharePoint Framework (SPFx), one of the most valuable objects I rely on is this.  context.pageContext . It gives me rich, contextual information about where my web part or extension is running—without requiring additional API calls. The following image shows the possible information that you can get. Overview about the pageContext In this post, I’ll walk through how I use this.context.pageContext in my day-to-day development, and how it helps me access detailed information about the current site, web, list, list item, user, and tenant. I’ll also share a couple of practical examples using isInitialized and cultureInfo . Understanding this.context.pageContext In SPFx, every component (web part or extension) gets access to a context object. Inside that, pageContext provides metadata about the current page and its environment. console.log(this.context.pageContext); This object is structured into several sub-properties, each representing a differe...

SharePoint SPFx & integration: Choosing the right user identifier for external system relationships

Bild
User attribute mapping for an external system relationship When building SharePoint-integrated applications—such as a Shop system embedded via SPFx in SharePoint — we often face a subtle but critical challenge: how to reliably link a user to data stored in an external system. A typical example is assigning orders to the user who created them. At first glance, this seems straightforward— until user properties start changing . 😒 In SharePoint Framework (SPFx), the current user is available via this.context.pageContext.user . This object exposes several properties like displayName , email , id , and loginName . However, not all of these are suitable for use as a stable foreign key in an external database. Properties such as displayName and email are mutable. If an administrator updates these values in Entra ID or SharePoint, the changes will eventually propagate—but not instantly. Synchronization delays and site-specific caching (via the User Information List) can lead to temporary inc...

SharePoint Online: SharePoint Alerts reborn - Custom Notification System (CNS^SP)

Bild
I think a lot of SharePoint users are already informed about the upcoming retirement of the SharePoint built-in feature Alerts 😔. Retired Alert feature in SharePoint As you can see in the screenshot, the alert feature will be switched off in July 2026. This means you cannot use this feature anymore. That's why I decided to implement a custom solution to rescue this function. Let me first give you a quick overview of the solution. My custom solution is based on the following pieces: A custom ListView Command Set to integrate a button to each list or library in SharePoint. Webhooks to listen for changes. To access SharePoint data, my solution needs an Entra app registration. I use an on-behalf-flow for the client app and an app-only flow for the background system. To provide the necessary functionality, I use multiple Azure functions to provide REST endpoints and to realize the notification system based on a scheduler trigger. And I use an SQL server to store all ...

SPFx: BaseDialog from microsoft/sp-dialog and lost focus

Bild
I had a strange issue while developing a new SPFx List command extension. My custom list command opens a dialog to enter some data. The dialog works perfectly for the first time. But after I had closed and opened the dialog again, I was unable to enter data in any input fields. Other UI components, like toggle or radio buttons, were not affected, and I could use them without any issue. After digging around and inspecting the source HTML code, I discovered an iframe with id = o365shellwcssframe, as you can see in the image below. iframe issue This iframe has an initial CSS display style set to "block", but after reopening the dialog, the value changes to "none". I just changed the value back to block and after this, the dialog started to work as expected. I made the adjustment during the event "BeforeOpen" inside my custom dialog component. export class AlertDialog extends BaseDialog { ... protected onBeforeOpen(): Promise<void> { con...

SharePoint & Copilot: Unternehmensdaten in KI-Modelle integrieren

Bild
Ein LLM besitzt meist nur Daten und Wissen, die zum Zeitpunkt des Trainings des Modells zur Verfügung standen. Somit kann es nur auf Fragen reagieren und mit einer höheren Wahrscheinlichkeit richtig antworten, wenn genügend und aktuelles Wissen dem Modell zur Verfügung steht. Fehlt das Wissen oder ist es nicht aktuell genug, dann erhöht sich die Rate der Falschantworten und es kommt zu den bekannten Halluzinationen. Im Unternehmenskontext kommt noch erschwerend dazu, dass die LLM kein internes Unternehmenswissen besitzen. Somit kann zunächst das LLM keine verlässlichen Antworten auf Fragen zu internen Geschäftsabläufen liefern. Um dies zu ermöglichen, muss dem LLM zunächst internes Wissen des Unternehmens zur Verfügung gestellt werden. Dies ist aus Gründen des Datenschutzes und der Datensicherheit problematisch. Um einem LLM das notwendige Wissen eines Unternehmens bereitzustellen, gibt es 2 mögliche Wege: Fine-Tuning des Modells Retrieval-Augmented Generation (RAG) Beim Fi...

SharePoint Online: Was ist SharePoint?

Bild
Oft erreicht mich heute auch noch die Frage: was ist überhaupt SharePoint? Das ist eine vetständliche Frage, da viele Anwender oder auch Entscheider noch keinen Kontakt zu der Microsoft 365 Umgebung hatten. SharePoint stellt in der Microsoft 365 ein zentrales Produkt da, da es von vielen Anwendungen verwendet wird. Um dies zu verdeutlichen, habe ich eine kleine Infografik erstellt, die darstellt, wo SharePoint angesiedelt ist. Einordnung von SharePoint in die MS365 Plattform Wie aus der oberen Übersicht hervorgeht, ist SharePoint ein essentielles Produkt, da viele andere Anwendungen diese Plattform nutzen. Viele Anwendungen profitieren somit von den eingebauten SharePoint-Funktionen, wie zum Beispiel der Auswertung der Zugriffsrechte auf Inhalte, Versionierung und Datensicherung, um nur einige zu nennen. In Kombination mit Microsoft Purview sind dann auch Aspekte bezüglich Data Governance, Datensicherheit und Compliance abgedeckt. Das bedeutet in vielen Fällen: auch wenn man SharePoint...