Files
sharepoint-browser/dev/project_description.md

42 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Projektbeskrivelse: Python SharePoint File Browser (Modern GUI)
Kontekst og Formål:
Udvikl en fil-browser med en moderne grafisk brugerflade i Python. Formålet er at løse problemet med Windows', SharePoints og OneDrives begrænsning på stinavne (over 260 karakterer / MAX_PATH). Programmet skal omgå denne grænse ved at arbejde med filernes unikke ID'er og URL'er via Microsoft Graph API frem for at bruge traditionelle filstier.
Teknologier:
Sprog: Python
GUI-framework: CustomTkinter (eller PyQt6) for et moderne, responsivt design.
Integration: Microsoft Graph API (Autentificering via MSAL).
Filhåndtering: Windows OS procesovervågning og native fil-operationer.
Kernefunktioner og User Flow:
Autentificering: Sikker login via MSAL (Microsoft Authentication Library) til brugerens Microsoft 365 / SharePoint konto.
Navigation (UI): En moderne grænseflade, hvor brugeren kan browse SharePoint-sites, mapper og filer dynamisk uanset hvor dyb mappestrukturen er.
Sikker stihåndtering & Check-out: Når en fil vælges til redigering:
Udfør et "Check-out" via Graph API, så filen låses for andre brugere på SharePoint.
Download filen til en midlertidig, meget kort lokal sti (f.eks. C:\Temp\[KortHash].[ext]) for at undgå MAX_PATH-begrænsningen i Windows.
Lokal Redigering & Overvågning:
Åbn den downloadede fil med standardprogrammet i Windows (f.eks. Word til .docx).
Programmet skal overvåge den specifikke proces eller fillås og registrere, præcis hvornår brugeren lukker programmet/filen igen.
Gen-upload & Check-in:
Når filen er lukket lokalt, uploades den ændrede fil automatisk tilbage til den oprindelige placering via Graph API.
Udfør et "Check-in" på SharePoint for at frigive filen til andre.
Slet den midlertidige lokale fil for at rydde op.
Krav til output:
Jeg ønsker det komplette, kørbare Python-script og ikke kun delektioner eller ændringer. Undlad for meget forklarende tekst, og fokuser på at levere en robust og fuldstændig kode.