42 lines
2.0 KiB
Markdown
42 lines
2.0 KiB
Markdown
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. |