The installation of your portfolio website with PortfolioSiteLab CMS consists of two main steps: backend configuration (configuration of cms service settings) and frontend installation (uploading a theme to your webspace).

  1. Signing up - Sign up at PortfolioSiteLab and activate your account using the activation link, which you received in the registration mail.
  2. Backend Configuration (CMS Service Settings) - Log in at PortfolioSiteLab CMS and go to Account » Service Settings. In order for the service to function properly you have to specify the database connection and ftp connection to your webspace, create the cms database tables and choose a photo directory.
    • Database connection: These settings specify the connection to your database. You can find out the database host, by logging in to phpMyAdmin. In most cases the domain of phpMyAdmin is your database host (i.e. "" is the database host for "").
    • FTP connection: These settings specify the ftp connection to your webspace.
    • Database tables: The database tables can be created automatically by clicking on the button after the database connection is successfully established.
    • Photo directory: These settings specify the location of your photos on your webspace. The internal photo directory path is relative to your ftp base directory (usually "/storage/originals" or "/"). The public photo directory path is "". The status will be positive as soon as you have uploaded a theme in the next step (Frontend Installation).
    • Listener (optional): The url of the reset cache thumb listener is "". This setting is optional. The listener automatically removes cache images for photos that are deleted or unpublished in PortfolioSiteLab CMS.
    You can test each setting before saving. Furthermore, the status of each setting is displayed in the service settings table. You are ready to go if database connection, ftp connection, and database tables show a positive status. The status of photo directory will be positive as soon as you have uploaded a theme in the next step (Frontend Installation). However, you may want to revisit Account » Service Settings in order to check the photo directory setting.
  3. Frontend Installation (Website Theme) - Download the test theme or another theme at PortfolioSiteLab CMS » Account » Themes. Open and update the configuration file (_config.php), which contains settings to access your database and general website settings like your website title. The only manditory settings are CMS_DB_HOST, CMS_DB_USERNAME, CMS_DB_NAME, and CMS_DB_PASSWORD. Furthermore you should specify WEBSITE_TITLE, WEBSITE_DOMAIN, and WEBSITE_MAIL. The database connection settings are the same as specified in PortfolioSiteLab » CMS Account » Service Settings. However, in this context database host is usually "localhost". Finally, upload all theme files to your webspace.
  4. Final check - Try to upload a photo or other content to your website using PortfolioSiteLab CMS. Except for the test theme, you have to set up your website navigation menu first (PortfolioSiteLab » Site » Menu) in order to see any content on your website. The test theme contains no templates and consists of only one page which will give you feedback about your frontend settings specified in the configuration file (_config.php) [view Example]. Please note, that the website may take some time to load the first time, since thumbs files need to be created.

Migration from Koken

Before you start the migration process, we highly recommend to create a backup both of your database and your whole Koken installation on your server (including all photo files).

Koken to PortfolioSiteLab CMS Migration - Standard
  1. Please follow the installation instructions, in order to set up a running portfolio website with PortfolioSiteLab. Thereby, you can also use your current Koken database.
  2. Import all Koken tables (structure and data) in your new CMS database (only required, if you are using a new database). Your database should now contain all PortfolioSiteLab CMS tables (empty) and Koken tables (containing your data). Go to Account » Service Settings in PortfolioSiteLab CMS and click on the button “Migrate Koken Data”. Your Koken data is transferred to the (new) PortfolioSiteLab CMS tables. Please note that the script will not alter or delete any Koken tables. After a successful migration you can delete them by yourself. In Account » Overview you can check, how many assets (photos, collections, articles, etc.) have been transferred (CMS Statistics).
  3. Finally, the Koken original photo folder must be moved to the right location. For standard Koken installations and standard PortfolioSiteLab CMS installations both folders are the same (/storage/originals).
  4. PortfolioSiteLab CMS needs a thumb file for each original photo. You can automatically create them by calling [view Example] (each theme contains this script). Due to the limited execution time of php, you may have to call the script several times. The creation of thumb files is done, if the script displays "Done". Furthermore, the script also informs you about missing photo files. In future you don't need to call this script anymore, since PortfolioSiteLab CMS creates these thumbs automatically.

Koken to PortfolioSiteLab CMS Migration - Expert
  • Database Migration - After you have successfully connected your database with PortfolioSiteLab CMS and created the PortfolioSiteLab CMS tables, you can automatically transfer the Koken database content to the PortfolioSiteLab CMS tables by clicking on the button “Migrate Koken Data” in Account » Service Settings. For that, your database with the PortfolioSiteLab CMS tables must also contain all Koken tables.
  • Photo Migration - Simply copy the Koken original photo folder (usually "/storage/originals") to a new desired location. We propose “/storage/originals” relative to your main website directory. Create a thumb for each photo by calling [view Example].

FAQ - PortfolioSiteLab CMS

Tipps for using PortfolioSiteLab CMS

  • Drag and Drop
    • Portfolio » Collections Sidebar: Order your sets and albums by dragging and dropping.
    • Portfolio » All: Delete photos by dragging the photo to the "delete dropzone".
    • Portfolio » All: Add photos to albums by dragging the photo and dropping it to an album in the sidebar navigation.
    • Portfolio » Album: Remove photos from the album by dragging the photo to the "remove from album dropzone".
    • Portfolio » Album: Order your photos by dragging and dropping (only available, if album sort is manual).
    • Portfolio » Set: Order the sorting of all collections in the current set by dragging and dropping.
    • Portfolio » Upload/Reupload: Choose image files by dragging and dropping them to the form.
    • Site: Order your menu links by dragging and dropping.

    All drag and drop operations for photos are supported for multiple selected photos. Multiple photos can be selected by clicking on a photo while pressing Strg, Shift or Alt (Strg+Click adds/removes the photo to/from the selection, Shift+Click selects a range of photos beginning with the previous selected photo, and Alt+Click resets the selection to the current photo).

    We recommend using Chrome or Edge as browser for full support of drag and drop functionality.
  • Tags - Add multiple tags at the same time by dividing them by comma (e.g. 'tag1,tag2,tag,...').

Auto updating multiple photos (batch update)

So far, PortfolioSiteLab does not offer a Lightroom Plugin. However, you can automatically update multiple photos and even import IPTC data like title, caption and tags.

Multiple photos can be updated as follows:

  1. Got to Portfolio and click on the button "+ New Photos" and then on "Update Photos".
  2. Choose one or multiple photo files. Photos are automatically matched by their filename. You will be informed which photo file corresponds to which photo in your portfolio. Furthermore, you can check the IPTC data of each photo file.
  3. Select the actions for the batch update: [x] reupload photo files, [x] update photo title and caption from IPTC data, [x] update photo tags from IPTC data.
  4. Click on the button "Update Photos". During the batch update a progress bar informs you about the status of the ongoing process.

I see a blank white page after logging in at PortfolioSiteLab CMS (browser support)!

In this case you are probably using an old browser (like Internet Explorer 11) that is not supported due to security reason anymore. We recommend using the latest version of Chrome, Edge, Firefox or Safari.

I get an "Database Connection Error" after logging in at PortfolioSiteLab CMS!

This error occurs if your database connection settings at Account » Service Settings are missing or wrong. PortfolioSiteLab offers services to administrate your website's content and photos. Since all data (database and photos) are located on your server, you have to specify how the service can access this data. Therefore, you must provide correct database connection settings in order for the service to function properly. You can fix this error by specifiying the correct database connection settings in PortfolioSiteLab CMS » Account » Service Settings.

What is ResetCacheThumb Listener?

In Account » Service Settings you can specify the url of your ResetCacheThumb listener. This Listener is shipped with each theme and the default url is [view Example]. Each time you delete or unpublish a photo using PortfolioSiteLab CMS, the associated cache thumb files for this photo (in default directory "/storage/cache") are removed. Cache thumb files for re-uploaded photos are automatically created. If the listener is called without any parameters the return value is "{"error":"missing_data"}.

FAQ - PortfolioSiteLab Themes

How can I change a theme?

  1. Remove all theme files from your webspace. However, do not remove the storage folder containing your original photos (usually "/storage/originals").
  2. Update the configuration file (_config.php) of the new theme and upload the new theme files to your webspace.
  3. That's it! You are done and visitors can enjoy your new theme.

Remarks: In most cases the themes are quite similar and use the same settings defined in the configuration file (_config.php). Therefore, it is sufficient to only exchange the "/res" folder on your webspace. This is valid for all themes offered by PortfolioSiteLab except the test theme.

Why may it take some time for a new page to load?

Each time a site displays a new or altered photo, the system automatically (re)creates thumb files for this photo. This process may take some time. However, after thumbs files have been created once, the loading time is blazing fast. Thumb files are created only once for each photo (except if the photo is reuploaded).

Some photo thumbs are not displayed on my website!

In rare cases the creation of a cache thumb file may fail. In this case you can fix all corrupted thumb files automatically by calling [view Example].

What is the difference between "/storage/originals" and "/storage/cache" folders!

The "/storage/originals" folder (CMS_ORIGINAL_IMAGE_BASEPATH) contains all your original photo files and must be specified as photo directory in Account » Service Settings. The "/storage/cache" folder (CMS_CACHE_IMAGE_BASEPATH) contains all photos and thumb files that are displayed on your website. Those files are automatically created, if someone visits your website or manually by calling /listener/FixCacheThumbs.php. If you delete the content of this folder, the thumb files will be recreated.

How to create and use custom templates?

1. Create a new template php file and move it in your frontend templates folder (e.g. "/templates/newtemplate.php"). You can create new templates from scratch or by adapting existing templates.
2. Log in at PortfolioSiteLab CMS and go to Site » Menu. Click on the button "New Link" to create a new link. Select "custom template" as template and enter your templates name (in this case "newtemplate"). Furthermore you can provide a reference id, which will be available in your template php file. For example you could pass the id of a photo or an article if your template should display a certain object.