Controls: show



[log in] or [register] to leave a comment for this document.

Go to: all documents

Options: show



[home] [about] [help]


[profiles] [forum]


Creating Repositories

14-Nov-2012 [19]

Part of Administration


In Muster Wiki, Repositories are representations of server disk directories which are targets for uploads of pictures and document files. The repositories include (and are limited to) a system-defined uploads directory and subdirectories. The uploads directory is considered to be the root directory of the repositories.

To provide a framework for security, the uploads directory is itself a subdirectory of a system-defined public directory. Finally, the public directory is considered to be a subdirectory of the system's base directory (the launch directory). The public and uploads directory disk locations can be set in the system properties table by the Webmaster (they have defaults of public/ and uploads/ respectively). For setting the base directory see Installation. So the repository root will always be base/public/uploads/.

Repositories are matched one for one by a specialized Muster Wiki container record type called directories. Directories hold content records for uploaded files (picture and document file record types), from whence these records can be added to (typically) folders. Directories are used to upload batches of files, and to process pre-loaded files (see below).

In sum, uploads are restricted to the repositories through the directories.

Repositories are available to the Muster Wiki Webmaster through the system link in the right sidebar, followed by the repositories link in the left sidebar.

Directories are available to Administrators in the library resources area (near the bottom of left sidebar).

Maintaining the Repositories List

Repositories are named in relation to the repository root directory. Hence the name field of the root directory record itself is blank (this record in included in the installation, but to re-add this record if it gets deleted, add a blank character to the name field before posting, to get around the name required rule).

New repository records should be created with names that match the disk directory name (case-sensitive). The names should include the path from the root repository, with no leading forward slash, and with a trailing backslash. So for example the name of a directory for people pictures might be pictures/people/. The repository names (and therefore the disk directory names) should not include spaces.

Here are the actions available on the Repositories page:

Action/Button Description
Save saves any changes made to the table. Multiple records can be edited or added before save
Add adds a blank record at the bottom of the table, ready for filling the name field
Delete deletes selected records. Will delete matching directory records, but will fail if those directory records have content records
Cancel cancels editing
Remove Spaces removes spaces of picture and document file filenames in selected repositories. Useful for pre-loaded disk directories
Assert creates disk directories where they do not exist, for selected repositories
Import creates repository records for subdirectories of selected repositories
Reconcile if the database loses integrity, makes sure that directory and repository records are perfectly matched. Also makes sure that there is a system instance entry for every existing file content record of the directory records. Reports results

Pre-loading Repositories

Pre-loaded disk files can be integrated into the system individually or in batches.

Picture or Document file records can be created manually, individually, for pre-uploaded files through the pictures or document files lists. Select the correct repository for the file, and enter the correct (case sensitive) name, and the system will recognize the file (and add the record to the correct directory container). File names with embedded spaces are rejected. For pictures, (Re)generate versions for the file.

To batch-import pre-loaded files to directories, follow these steps:

  1. create new database records for the target repositories in system/repositories
  2. invoke the Assert action to create the directories on the server disk
  3. using ftp or some other tool, load the files you want to preload into the server directory. Repeat for each directory. For pictures, be sure they are properly oriented, and load originals of about 1M to 1.5M file size
  4. back in Muster Wiki, invoke the Remove Spaces action to clear any missed blank spaces from pre-loaded files in the pre-loaded repositories
  5. navigate to the directory container records (in library resources -> directories). Then, one directory at a time:

-- in each directory --

  1. click on the actions and advanced links
  2. click on Import all files
  3. (optionally) publish all the new records (from the actions toolbar)

-- if the pre-loaded files are pictures --

  1. set per page at the bottom of the page to 10 (this assumes appropriate server settings -- we have max server PHP process runtime of 50 seconds instead of the default 30 seconds
  2. click on actions link and advanced
  3. select all (max 10) records by setting the checkbox beside the Add action
  4. click on Generate action
  5. go to next page (not next item) at bottom of list
  6. repeat steps 9-12 until done