SharePoint

Migracja danych z systemów bazujących na Linux/Unix do SharePoint Online.

Luty 28, 2017 0
Podziel się:

Przy okazji realizowania projektu migracji magazynu danych do SharePointa Online, z innej platformy, bazującej na systemie Linux przyszło mi się zmagać z dostosowaniem magazynu danych do technologii Microsoft.

W związku z tym podczas migracji danych między systemami konieczne było przekształcenie nazw folderów oraz plików tak, aby spełniły ograniczenia zarówno związane z systemami Windows jak i samym SharePointem Online.

Poniżej przedstawię analizę systemów Windows oraz SharePointa Online w kontekście wymagań dotyczących magazynowania danych.

Systemy Windows (XP, Vista, 7, 8, 8.1, Server 2003, 2008, 2012, 2012 R2)

  1. Ograniczenia ścieżki do pliku oraz długości nazwy plików

Pierwszym tematem jaki podlega analizie są ograniczenia związane z długością ścieżek prowadzących do plików. Domyślnym limitem systemów Windows* jest 260 znaków. W systemach Unix/Linux limit ten został zniesiony lub jest wielokrotnie większy (w zależności od dystrybucji oraz użytego systemu plików, ale to temat na inny wpis).

Dlatego w kontekście migracji plików pomiędzy tymi platformami konieczne jest przekształcenie struktury folderów zgodnie z wymaganiami przedstawionymi w poniższej tabeli:

Przypadek Przykład Dopuszczalna liczba znaków Komentarz
Wszystkie znaki D:\folder1\folder2\nazwapliku.rozszerzenie {nul}   260 Limit wymuszony przez system Windows
Wszystkie znaki bez znaku terminującego D:\folder1\folder2\nazwapliku.rozszerzenie   259 Realny limit ścieżki
Sama nazwa folderu oraz pliku bez terminatora folder1\folder2\nazwapliku.rozszerzenie   256

Uwaga 1: W systemach operacyjnych Windows, każda ścieżka zakończona jest niewidocznym znakiem {null} zwanym terminatorem. Znak ten będzie występował zawsze w ścieżce i nie można go zastąpić. Dlatego też jest on teoretycznie wliczony w limit znaków ścieżki, jednak użytkownik nigdy nie ma wpływu na jego treść.

Uwaga 2: Ograniczenie dotyczące długości ścieżki zostało zmienione w systemach Windows 10 oraz Windows Server 2016. Ze szczegółami tej zmiany można zapoznać się na tej stronie.

Tylko po spełnieniu powyższych wymogów możliwe będzie przeprowadzanie operacji takich jak kopiowanie, wycinanie, wklejanie oraz zmiana nazwy plików oraz folderów.

  1. Ograniczenia w zakresie długości nazw plików:

Kolejnym tematem związanym z plikami w magazynie danych są same nazwy plików oraz folderów. W systemach Windows maksymalną liczbą znaków w nazwie plików oraz folderów jest teoretycznie 255 znaków. Liczba ta jest związana z opisaną powyżej maksymalnie dopuszczalną ilością znaków w ścieżce. Dlatego też przy zmianie nazw plików dobrym podejściem jest dostosowanie plików i folderów w kontekście całościowej ścieżki a nie jako indywidualne elementy.

  1. Ograniczenia w zakresie znaków w nazwach plików oraz folderów:

W systemie Windows, w nazwach plików nie można użyć następujących znaków:

  • < (znak mniejszości)
  • > (znak większości)
  • : (dwukropek)
  • ” (cudzysłów)
  • / (prawy ukośnik)
  • \ (lewy ukośnik)
  • | (kreska pionowa)
  • ? (znak zapytania)
  • * (gwiazdka)

Należy również zwrócić uwagę na poniższe dodatkowe wymagania:

  • nazwy folderów oraz plików nie mogą rozpoczynać się od znaku
  • nazwy folderów oraz plików nie mogą zawierać dwóch kropek obok siebie <..>
  • kodowanie zapisu znaków musi być zgodne z kodowaniem systemów operacyjnych Windows

Uwagi: W bardzo specyficznych przypadkach kodowania, znaki nie będą wyświetlone w nazwach plików w systemie Windows pomimo, że się tam faktycznie znajdują. Również, znaki które nie są zgodne z obecnym językiem systemu operacyjnego mogą być wyświetlanie niepoprawnie lub (szczególnie w przypadkach języków nie korzystających z alfabetu łacińskiego) jako znak zapytania <?>.

SharePoint Online

SharePoint Online również posiada swoje ograniczenia odnośnie długości ścieżek oraz nazewnictwa plików.

  1. Ograniczenia ścieżki do pliku oraz długości nazwy plików

Nieco inaczej sprawa ma się przy ścieżkach do plików w SharePoint Online. Tam rzeczywistym ograniczeniem ścieżki do pliku jest limit długości URL danego pliku.

Limitem dla ścieżki URL jest 260 znaków. Jednak w przypadku przesyłania dużej struktury plików do SharePointa należy wziąć pod uwagę tylko ścieżkę relatywną linku do danej biblioteki.

To, co kryje się pod terminem relatywnego linku, najłatwiej zaprezentować na podstawie przykładu:

Przyjmijmy że posiadamy plik który chcemy przesłać do biblioteki SharePoint wraz ze strukturą folderów:

D:\folder1\folder2\folder3\nazwapliku.rozszerzenie

do lokalizacji (biblioteki) na SharePoincie Online pod adresem URL:

https://www.nazwafirmy.domena.com/NazwaSiteCollection/NazwaPage/NazwaSubPage/NazwaBiblioteki

Zatem końcowy link po przesłaniu do będzie prezentował się następująco:

https://www.nazwafirmy.domena.com/NazwaSiteCollection/NazwaPage/NazwaSubPage/NazwaBiblioteki/folder1/folder2/folder3/nazwapliku.rozszerzenie

Jednak limitem ścieżki objęty będzie tylko poniższy fragment linku URL, czyli ścieżka relatywna do pliku:

NazwaSiteCollection/NazwaPage/NazwaSubPage/NazwaBiblioteki/folder1/folder2/folder3/nazwapliku.rozszerzenie

W związku z tym, realny limit długości ścieżki do pliku dla SharePointa Online można przedstawić za pomocą następującego wzoru:

260 – ({ilość znaków w ścieżce URL do biblioteki} – {ilość znaków w URL SharePointa Online})

Natomiast ilość pozostałych znaków mieszczących się w limicie można pokazać za pomocą wzoru poniżej:

260 – ({ilość znaków w ścieżce URL do folderu} – {ilość znaków w URL SharePointa Online})

Bazując na powyższym przykładzie, ilość dostępnych znaków to:

260 – (93 – 35) = 192

Natomiast ilość znaków, które można jeszcze wykorzystać w ścieżce: NazwaSiteCollection/NazwaPage/NazwaSubPage/NazwaBiblioteki/folder1/folder2/folder3/

260 – (118 – 35) = 177

Uwaga: Dodatkowo przy wykonywaniu tych obliczeń warto pamiętać, że znak <spacji> w linku SharePointa wyświetlany będzie jako zestaw znaków w kodowaniu procentowym URL: „%20” jednak należy je liczyć jako jeden znak

  1. Ograniczenia w zakresie nazw plików:

Podobnie jak system Windows, SharePoint Online dopuszcza wszystkie znaki aktualnie używanego kodowania oraz znaki obecnie używanego języka za wyjątkiem znaków:

  • < (znak mniejszości)
  • > (znak większości)
  • : (dwukropek)
  • ” (cudzysłów)
  • / (prawy ukośnik)
  • \ (lewy ukośnik)
  • | (kreska pionowa)
  • ? (znak zapytania)
  • * (gwiazdka)
  • # (kratka)
  • % (procent)

Podsumowanie

Sumaryczna tabela wymagań odnośnie operacji na plikach w scenariuszu migracji magazynu danych z platform Linux/Unix do SharePointa Online prezentuje się następująco:

Ograniczenie Limit
Długość ścieżki 260 – ({ilość znaków w ścieżce URL do biblioteki} – {ilość znaków w URL SharePointa Online})

 

Długość nazw plików 260 – ({ilość znaków w ścieżce URL do biblioteki} – {ilość znaków w URL SharePointa Online}) – {ilość znaków w strukturze folderów}

 

Zestaw znaków w nazwach plików oraz folderów
  1.  Znaki nieobsługiwane: <, >, :, “, /, \, |, ?, *, #, %
  2. Nazwy folderów oraz plików nie mogą rozpoczynać się od znaku <spacja>, oraz znaki
  3. Nazwy folderów oraz plików nie mogą zawierać dwóch kropek obok siebie <..>
  4. Kodowanie zapisu znaków musi być zgodne z kodowaniem systemów operacyjnych Windows

 

Na podstawie wymagań zaprezentowanych w powyższej tabeli, możemy rozpocząć pisanie skryptów przekształcających strukturę danych.

Ponadto należy pamiętać, że SharePoint Online posiada również szereg ograniczeń związanych z rozmiarem pojedynczego pliku, ilością elementów w bibliotece czy rozmiaru biblioteki. Dlatego też konieczne jest dokładnie przeanalizowanie ograniczeń obecnej wersji SharePointa Online oraz obecnie zasubskrybowanego planu usługi O365.

Powyższa analiza może również być zastosowania w przypadku migracji danych do produktu One Drive for Business, oferowanego w różnych planach subskrypcyjnych usługi O365.

Bibliografia:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx

https://support.office.com/pl-pl/article/SharePoint-Online-ograniczenia-i-limity-zwi%C4%85zane-z-oprogramowaniem-8f34ff47-b749-408b-abc0-b605e1f6d498

https://support.microsoft.com/en-us/help/3125202/restrictions-and-limitations-when-you-sync-files-and-folders-using-the-new-onedrive-for-business-sync-client

https://support.office.com/en-us/article/Manage-site-collection-storage-limits-77389c2c-8e7e-4b16-ab97-1c7103784b08

https://support.office.com/en-us/article/SharePoint-Online-software-boundaries-and-limits-8f34ff47-b749-408b-abc0-b605e1f6d498

Oceń ten post
Kategorie: SharePoint
Łukasz Górski
Autor: Łukasz Górski
W IT jedną nogą od 2009 roku, obiema od 2014. Administrator Systemów IT opartych na technologiach Microsoft’u oraz Konsultant technologii SharePoint w Centrum Kompetencji SharePoint. Entuzjasta automatyzowania wszystkiego skryptami PowerShell.

Imię i nazwisko (wymagane)

Adres email (wymagane)

Temat

Treść wiadomości

Zostaw komentarz