Nextcloud PicoCMS App

Nextcloud PicoCMS App header image

Nextcloud PicoCMS App

Getting the Nextcloud PicoCMS app app running correctly is not that straight forward, and takes a bit of fiddling around. To get it running, first install the app as described on the app's wiki pages.

Loading the media

However, you might still have problems loading media — such as fonts, images and stylesheets — held on remote sites.

Load the page, and then use the browsers Developer Tools > Console. If you are getting errors like the following:

Refused to load the stylesheet
'https://fonts.googleapis.com/css?family=Open+Sans:400,700' 
because it violates the following Content 
Security Policy directive: "style-src 'self' 
'unsafe-inline'". Note that 'style-src-elem' was 
not explicitly set, so 'style-src' is used as a 
fallback.

you will need to edit the Apache configuration to allow the stylesheet to load.

<VirtualHost *:443>
    DocumentRoot "/path/to/nextcloud"
    ServerName cloud.domain.name
    <IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
       Header always set Content-Security-Policy "default-src 'none';base-uri 'none';manifest-src 'self';script-src 'unsafe-eval' 'unsafe-inline' 'self';style-src 'self' 'unsafe-inline' https://fonts.googleapis.com/;img-src 'self' data: blob: *;font-src 'self' https://fonts.gstatic.com;connect-src 'self';media-src 'self';frame-src www.youtube.com prezi.com player.vimeo.com vine.co 'self';child-src 'self';"
       Header set Referrer-Policy "no-referrer"
   </IfModule>

</VirtualHost>

Note: Some of these directives should already be configured. unsafe-eval and unsafe-inline are needed by Nextcloud for the time being.

Installing a new theme

The documentation says:

The Admin of a cloud have the possibility to provide to his user plugins, templates and themes. The installation is done by uploading the files on the filesystem of the server:

  • For new templates, create a new folder in your_nextcloud_root/apps/cms_pico/Pico/templates/
  • For a new theme, create a new folder in your_nextcloud_root/apps/cms_pico/Pico/themes/
  • Plugins have to be uploaded into your_nextcloud_root/apps/cms_pico/Pico/plugins/

However, the Nextcloud admin page for the app says:

To add a custom theme, you will need to create a new folder in the 'themes' directory: /path/to/nextcloud/data/appdata_xxxxxxxxxxx/cms_pico/themes/

To add a custom template, you will need to create a new folder in the 'templates' directory: /path/to/nextcloud/data/appdata_xxxxxxxxxxx/cms_pico/templates/

where the /path/to/nextcloud/data/appdata_xxxxxxxxxxx/ is the path to the Nextcloud app data in the data directory.

Putting the theme in one or the other of these directories fails. What is needed a theme directory in both locations.

In the appdata directory, the theme directory needs to contain

Gravatar

Internet veteran, was a geek until it became cool, general technophile. Knows the difference between pressurised and pressured, possible and potential, etc.