Filer och mappar

Innan redaktörerna kan hantera filer i Dynamix gränssnitt behöver en eller flera DirectoryRoots skapas. Detta görs normalt med funktionerna DirectoryRoot.DB_NewPublic respektive DirectoryRoot.DB_NewPrivate enligt:

Publika filer

Filer som laddas upp till publika biblioteksrötter är tillgängliga för alla besökare i webbplatsen. Även om sidbehörigheter kan hindra åtkomst till en sida som länkar till en fil så kan filen hittas till exempel genom att gissa url:er.

För att skapa en publik rot används:

  1. C#
  1. DirectoryRoot publicFiles = DirectoryRoot.DB_NewPublic(
  2. "MySite_PublicFiles",
  3. "/Files",
  4. "Filer"
  5. );

Parametrarna är Uid, Webbsökväg och Dynamix-namn för roten.

Skyddade filer

Filer i privata biblioteksrötter kan inte utan vidare hämtas av besökare. Dynamix kontrollerar istället automatiskt behörigheter innan filen skickas ut till besökaren. För kataloger under sådana rötter kan redaktörerna också styra behörigheter till filerna.

För att skapa en privat rot används:

  1. C#
  1. DirectoryRoot protectedFiles = DirectoryRoot.DB_NewPrivate(
  2. "MySite_ProtectedFiles",
  3. "C:/MyProtectedFiles",
  4. "Skyddade filer"
  5. );

Parametrarna är: Uid, Disksökväg och Dynamix-namn för roten.

Synkronisering

För att synkronisera befintliga filer på disken med databasen används DB_Synchronize() enligt:

  1. C#
  1. DirectoryRoot protectedFiles = ...;
  2. protectedFiles.DB_Synchronize();

Filer och bibliotek på disken blir därmed tillgängliga för redaktörer.

Länkar/bilder som pekar på filer som inte längre existerar kommer inte längre att visas efter synkronisering.

Windows filrättigheter

På katalogerna som pekas ut med biblioteksrötter, måste användaren som webbapplikationen kör som (t.ex. NETWORK SERVICE), ha läs- och skrivrättighet. Användaren måste också ha läsrättighet hela vägen upp till roten.

T.ex. om biblioteksroten perkar på "C:\WebSites\Site1\Files" så måste windowsanvändaren även ha läsrättighet till katalogerna:

C:\WebSites\Site1
C:\WebSites
C:\

Om användaren saknar dessa läsrättigheter kommer man få felet "Could not find part of the path...".

Filstorleksbegränsning

Standardinställningen i ASP.NET för max filuppladdningsstorlek är 4Mb. För att ändra detta lägger man till en inställning i applikationens web.config. För att öka max-storleken till t.ex. 40000Kb (40Mb) anger man:

  1. C#
  1. <configuration>
  2. <system.web>
  3. <httpRuntime maxRequestLength="40000" />
  4. </system.web>
  5. </configuration>