JoeCMS guide

Generated on: 03/10/2026

How to run Stravirgiliana: where to work, what you change from the admin area and what you change in the files. Keep this page at hand.

Note for the site administrator

This page was generated automatically during installation. Complete the steps below before publishing the site.

  1. Read the guide through and adapt it to your site: drop the sections you do not use, add your team’s own procedures.
  2. If you do not want it public, delete the page or move its link out of the header and footer.
  3. To edit the text open themes/site/contents/guida/index.ENG.html (one file per active language).
  4. When you are done remove this box: search for jc-admin-note in the file and delete the block.
On this page
  1. 1. Signing in to the admin area
  2. 2. The two ways to build a page
  3. 3. Header, footer and home page
  4. 4. Colours, typography and CSS
  5. 5. Admin toolbar on the site
  6. 6. Multilingual site
  7. 7. Users and registration
  8. 8. Services, analytics and cookies
  9. 9. Cache, backups and security
  10. 10. If something goes wrong

1. Signing in to the admin area

The administration of Stravirgiliana lives at /admin. Sign in with the account created during installation (admin) and the password you chose.

  • /admin is the main panel.
  • /restricted/… are the individual management sections (content, users, languages, services).
  • If you forget the password use password recovery: an email is sent to your address.

First thing to do: if you have not already, delete the /install folder from the server. The installer is disabled as long as the configuration file exists, but removing it is good practice.

2. The two ways to build a page

JoeCMS handles content in two different ways, and this is the most important distinction to grasp.

  • Database-managed pages (the "nodes"): created and edited from the admin area, without touching files. The right choice for articles, listings, records — anything that grows over time or must be editable by non-developers.
  • File pages: they live in contents/<name>/index.php with the text in themes/site/contents/<name>/. The right choice for fixed, special pages: the home page, login, the legal pages, this guide.

Rule of thumb: if the content changes often or an editor must be able to change it, use a database page. If it is structural, keep it as a file.

3. Header, footer and home page

The three parts you see first are HTML files you can open and edit:

  • applets/header/template.html — logo and top menu. Below 820 px the menu collapses into a button that opens a side panel.
  • applets/footer/template.html — legal links and copyright.
  • applets/homepage/template.html — the landing page.

In links write /en/path instead of /path: the token is translated into the right address for the language the visitor is reading. For the language selector use

  • EN
  • IT
.

The logo used by the header lives in uploads/loghi/.

Site icon. The favicon and the app icon were generated at install time from a single image: favicon.ico, favicon.png and apple-touch-icon.png in the root, the Android/PWA icons in /media-resource/, plus manifest.json and browserconfig.xml. The original is in uploads/loghi/icona-sito.png: to change the icon replace those files with the same image at the same sizes.

4. Colours, typography and CSS

The public site style all lives in themes/site/css/root.css. At the top of the file are the colour, typography and spacing variables: change those and the whole site changes, without chasing individual rules.

The installation package ships only the compiled CSS. The Sass sources (themes/site/css/root/*.scss) live in the development repository: if you work from there, edit the .scss files and recompile with sass themes/site/css/root.scss themes/site/css/root.css. Otherwise edit root.css directly.

The logo lives in uploads/loghi/: replace the files keeping the same names and site, emails and admin area all change at once.

5. Admin toolbar on the site

While browsing the site as an administrator, JoeCMS can show an overlay editing toolbar and alignment guides on blocks. Both are off by default: on public pages they tend to get in the way more than they help.

If you need them, turn them on at /restricted/services/admin.tools: enable for the toolbar, outline_guide for the alignment guides (1 = on, 0 = off).

6. Multilingual site

Active languages are managed at /restricted/international. The default language uses addresses without a prefix; the others add the code, for example /en/….

  • Interface texts (buttons, labels, emails): dictionary at /restricted/wordcode. Anything missing in a language falls back to the default one.
  • Translated addresses for file pages: map in contents/i18n.php. That way /privacy becomes /en/privacy-policy with a single controller.
  • Language selector: the
    • EN
    • IT
    token. With more than two active languages it turns into a dropdown by itself.

7. Users and registration

Users are managed at /restricted/users, groups and permissions at /restricted/groups.

On this site registration is disabled: the sign-up form is not shown and the personal area is unreachable. To reopen it, set JC_REGISTRATION_ENABLE to true in themes/site/conf/config.remote.php.

System emails (confirmation, password recovery) are sent through the SMTP server configured during installation. If they do not arrive, check the SMTP settings first and the spam folder second.

8. Services, analytics and cookies

External integrations (analytics, maps, advertising pixels, fonts) are turned on and off at /restricted/services. Each service has an enable switch plus the fields it needs, typically a key.

When the cookie banner is active, analytics and marketing scripts are not loaded until the visitor consents: blocking happens server-side, not by merely hiding them. Remember that the categories declared in the cookie policy must match the ones enabled in the banner.

9. Cache, backups and security

Cache. Public pages are stored in cache/, per language. If a change does not show up, empty that folder (its contents, not the folder itself).

Backups. A complete backup is two things: the database and the folders uploads/, contents/, themes/, applets/. The file themes/site/conf/config.remote.php holds the credentials: keep it safe and out of version control.

Security. Remove /install, keep write permissions only where needed (uploads/, cache/, themes/site/conf/), and change the admin password if you have shared it.

10. If something goes wrong

  • Blank page or 500 error: check your hosting’s PHP error log. Nine times out of ten it is a missing write permission or a missing PHP extension.
  • Changes do not appear: empty the contents of cache/ and reload bypassing the browser cache.
  • 404 on a page that exists: make sure the root .htaccess is there and mod_rewrite is enabled.
  • Emails are not sent: re-check SMTP host, port and credentials; many hosts block port 25, use 587 or 465.
  • You cannot sign in: use password recovery; if that email does not arrive either, the problem is SMTP.