Contents
========

1. Installation instructions
1.1. General information
1.2. Manual installation
1.3. Automatic installation under Windows
2. Release notes


1. Installation instructions
============================

1.1. General information
------------------------

The blog system must be installed on a web server that supports PHP. This guide
assumes that such a web server is already available and that the following data
is to hand:

- The web server address for uploading files via SFTP. This can be obtained
  from the hosting provider. Example for Strato: ssh.strato.de

- The installation directory. Corresponds to the directory to which the domain
  (e.g. example.com) was redirected. If nothing is specified here, the files
  will be uploaded to the default directory (usually the main directory).

- The user name for uploading files via SFTP. This can be obtained from the
  hosting provider.

- The password for uploading files via SFTP. This can be obtained from the
  hosting provider and should be changed afterwards.

The installation can be done manually using an SFTP program or automatically
using an installation program (the latter only under Windows):


1.2. Manual installation
------------------------

Unpack the downloaded ZIP file "install-blog-v[…].zip" into a directory on the
local computer and then upload the unpacked files to the web server using an
SFTP program (e.g. FileZilla or WinSCP).

The ZIP file contains the following directories:

  Directory          Contents

  ├──install         Files for a fresh installation.
  │  │
  │  ├──common       Common files for all languages.
  │  │
  │  ├──de           Files for the German language.
  │  │
  │  └──en           Files for the English language.
  │
  └──update          Files for the update installation.
     │
     ├──common       Common files for all languages.
     │
     ├──de           Files for the German language.
     │
     └──en           Files for the English language.

The basic procedure for uploading the files is as follows:

- Start the SFTP program and connect to the web server. To do this, enter the
  web server address, your user name and password.

- The window of such an SFTP program is usually divided into two parts: on the
  left you can see the files and directories of the local computer, on the right
  those of the web server.

- If you have redirected the domain under which the blog system should be
  accessible on the WWW to a specific directory on the web server, you must
  change into this directory on the right.

- On the left, go to the local directory whose contents are to be uploaded, mark
  all the files and subdirectories you can see (usually you can do this with the
  key combination Ctrl+A) and start the upload.

The following differentiates between a new (fresh) installation and an update
installation:

a) New installation

If the blog system is being installed on this web server or in this directory
for the first time, a new installation should be carried out. To do this, open
the local "install" directory of the unpacked ZIP file in the SFTP program.
Then go to the "common" subdirectory and upload its entire contents to the web
server. Finally, upload the contents of *one* of the two subdirectories "de" or
"en" - depending on the language (German or English) in which you want to use
the blog system.

b) Update installation

If the blog system has already been installed and you want to update it to a new
version, an update installation is recommended. Only files that are normally not
changed by the user are updated.

Before an update, it is always advisable to create a backup (in the blog system
editor under "Open > List: Backup > Button: Create").

The update procedure is the same as for a new installation, but with the
difference that the subdirectories to be uploaded are not in the "install"
directory of the unpacked ZIP file, but in the "update" directory.

The website should now be able to be opened by entering the address (e.g.
"example.com") in the browser. A text with further information on the initial
setup of the blog system is displayed there.


1.3. Automatic installation under Windows
-----------------------------------------

To do this, start the downloaded installer "install-blog-v[…].exe" and confirm
the message "Do you want to install Blog System Version […]?" with OK.
The files contained are now unpacked into a temporary directory and the actual
installation program is started. Alternatively, you can also run the file
"install.bat" from the downloaded and unpacked ZIP file "install-blog-v[…].zip".

If the installer is executed for the first time and no data has been entered,
the data mentioned above under "General information" (language, web server
address, installation directory, user name, password) will be requested.
After entering the data, a selection menu will appear.

L = List contents of installation directory
N = New installation
U = Update installation
H = Remove access protection (deletes the .htaccess file)
E = Change entered values
I = Info (displays the "Readme" file)
X = Exit

A function is selected by entering the specified letter and the Enter key.

It is advisable to display the contents of the installation directory first to
make sure that you have entered the correct directory. This also checks whether
the SFTP connection to the web server is working. If an error message appears
here, you can correct the connection data by entering E.

If the blog system is installed on this web server or in this directory for the
first time, a new installation should be carried out. This will upload all the
necessary files to the specified installation directory on the web space.

If the blog system has already been installed and you want to update it to a new
version, an update installation should be performed. An update only installs
files that are normally not changed by the user. Before an update, it is always
advisable to create a backup (in the editor under "Open > List: Backup > Button:
Create").

The "H = Remove access protection" function is useful if you have forgotten the
password for access protection or have locked yourself out by entering incorrect
values. This function deletes the lib/.htaccess file.

Entering "X" will exit the installer. If a Windows "Program Compatibility
Assistant" message pops up afterwards, it can be ignored or closed.


2. Release notes
================

Version 1.11.1 (2026-07-23)

- Changed: Contact form: Custom email templates can now be defined.
- Changed: Contact form: New field types, e.g., decimal number, web address, or
  address fields.
- Changed: Contact form: New "lineup" attribute (multiple fields in a single row).
- Changed: Contact form: "labelpos" attribute: New values "left" and "right"
  (label positioned to the left or right of the field).
- Changed: Contact form: "align" attribute: New value "stretch" (left- and
  right-aligned with space in between).
- Changed: Contact form: "checked" and "selected" attributes renamed to "preset".
- Changed: Internal protected links: Link button is no longer inside the form but
  references it via form="id".
- Bugfix: Contact form: "dropdown" field type: Label positioned after the field
  was displayed incorrectly.
- Bugfix: Editor: Preview window.

Version 1.11.0 (2026-07-17)

- New: Contact form: Custom fields can be defined (see help page).
- Changed: Snippet "Paragraph > Protect": An additional check is performed to
  verify that the page containing the section to be protected was accessed within
  a reasonable timeframe (2–3600 seconds).
- Changed: "PrettifyText" function: In addition to JavaScript and style sections,
  code sections are now also ignored.
- Changed: Default stylesheet: H5 headings now have slightly wider character
  spacing.
- Changed: Card widget: The last paragraph has no bottom margin.

Version 1.10.6 (2026-07-12)

- New: Sidebar widgets can be arranged randomly by specifying the item attribute
  shuffle="true" in widgets.xml.
- New: Footer widgets: Widgets can be placed in the footer area by specifying the
  item attribute position="footer" in widgets.xml.
- New: Widget type "Image Link": Displays an image and text with a link to an
  article. Multiple frames can be defined, with one being selected at random.
- New: Widget type "Random Article": Displays the title, description, and featured
  image of a randomly selected blog article from the overview page.

Version 1.10.5 (2026-07-09)

- Changed: Popups can now display arbitrary HTML content. Two new snippets are
  available for this:
- New: Snippets "Popup without link (ID)" and "Popup without link (HTML)".
- Changed: Stylesheets: Some minor adjustments.
- Bugfix: Statistics script: Perl script line endings converted back to LF.

Version 1.10.4 (2026-07-07)

- Changed: "PrettifyText" function: Style sections are now ignored in addition to
  script sections.
- Changed: Menu: New "icons" attribute for adding emoji icons to automatically
  generated menu items.
- Changed: Stylesheets: Separate colors for navigation buttons and other buttons.
- Changed: Editor, preview window: Smooth scrolling disabled (may have been set in
  the user stylesheet).
- Changed: Contact form: Access via internal protected link enabled.
- Bugfix: Editor: Base URL was determined incorrectly.
- Bugfix: "External Content" dialog: Preview image was not scaled.
- Bugfix: Menu: Minor display issue corrected.
- Bugfix: Article overview page: Articles with the filename "index" were not linked.
- Bugfix: Spelling correction in the German language file.
- Bugfix: Menu: Closing of submenus when opening another submenu corrected.
- Bugfix: Menu: Active item detection now works even if the URL contains an
  anchor (#).
- Bugfix: "Article card internal" snippet: Now works even if the URL contains an
  anchor (#).
- Bugfix: Internal protected link: Paragraph font style is preserved.

Version 1.10.3 (2026-06-29)

- New: Cookie consent dialog (displayed only when cookies are actually set).
- New: Generic function for inserting settings forms (cookies, external content,
  statistics data).
- Changed: Snippets removed from the "Settings" section; settings forms can now
  be inserted as text snippets.
- Changed: Statistics script: POST data sent during page loads is now displayed.
- Changed: Embedded external content: Consent dialog design revised.

Version 1.10.2 (2026-06-26)

- Changed: Snippets for inserting textblocks removed; textblocks can now be
  inserted via the file manager.
- Changed: "Paragraph > Protect" snippet: Modified the method for detecting page
  access via an internal link.
- New: Editor: Special links to internal pages containing protected information
  can be inserted via the file manager.
- New: Menu: type="protected" attribute for linking to internal pages containing
  protected information (e.g., contact details).
- Changed: "Single Image > as Table" snippet – a Base64 string containing the
  image data can now be specified instead of the image file path.
- New: "Single Image > Base64 Encode" snippet – generates a Base64 string from
  the image data.
- Blog4u: Moved the link to the privacy policy from the language files to the
  configuration file and made it configurable via setup.
- New: Access protection for subdirectories.

Version 1.10.1 (2026-06-23)

- New: Robots tag <meta name="robots" content="noindex,nofollow,noarchive" /> –
  can be enabled in the editor via the "Edit" button.
- New: "Single image > as table" snippet – for inserting a graphic as an HTML
  table (to protect personal data).
- New: "Paragraph > Protect" snippet – displays sensitive data only if the page
  is accessed via an internal link by a "real" user, or after clicking a button.
- New: Footer section at the bottom of every page, configurable via the widget
  editor.

Version 1.10.0 (2026-06-18)

- New: Popup links: Clicking a link first opens a popup window containing custom
  text and information about the link. Popups without links are also supported.
- New: Snippets for inserting popup links (internal, external, or without a link).
- Changed: Editor: Inserting popup links to articles via the file manager.
- New: "Special characters" snippets for inserting typographic quotation marks,
  apostrophes, and dashes.
- New: Link icons for external links and section links (page anchors).
- Various minor bug fixes and improvements.

Version 1.9.1 (2026-05-12)

- Changed: Contact Form: Enhanced protection against spam bots (user interaction
  with the form is required).
- Changed: External content in IFRAMEs: Automatic detection of the preview image.
- Changed: New snippet "IFRAME (video, map, ...)" replaces the previous snippets
  "YouTube Video" and "Google Maps Map".

Version 1.9.0 (2026-04-28)

- New: External content within IFRAMEs will now load only after user consent
  (privacy feature). Further details can be found in the "demo.php file, sections
  "YouTube video" and "Google Maps map").
- New: Snippets "External contents" and "Website statistics" under the new
  "Settings" category (further details can be found in the demo.php file).
- Changed: Statistics script: Function to ignore entries: New dialog; extended to
  include referrer URL.
- Changed: When accessing pages with the ".php" file extension, the extension is
  now removed from the address bar, even if a search parameter is specified.
- Bugfix: baseUrl was being determined incorrectly within the editor's preview window.

Version 1.8.1 (2026-03-23)

- New: HTML Header: Canonical tag is now set.
- Changed: When accessing pages with the ".php" extension, the extension is removed
  from the address bar.
- Changed: If the user is coming from Facebook, the URL parameter "fbclid" is
  passed without a value to all internal links. Pages can then evaluate this and
  react accordingly.
- Changed: Image Viewer: Image description in the ALT tag: BBCode parser improved.
- Changed: Editor: Article links can now be inserted from the file manager.
- Changed: Statistics script: Pages not found are now marked with "404".
- Bugfix: The HTTP error code of the error page (e.g., 404) is now passed to the
  browser.
- Bugfix: Statistics script: The file "nolog.db" is now created if it does not
  already exist.

Version 1.8.0 (2026-03-03)

- New: Image Viewer. Activated via snippet or by inserting the images into a
  FIGURE or DIV with class="viewer".
- New: Image Grid to arrange images as thumbnails in a grid. Activated via
  snippet or by inserting them into a DIV with class="image-grid".
- New: Snippets for commenting out inline text and lines.
- Changed: Snippets reorganized/renamed and tooltips with hints added.
- Changed: Snippets for translating links/pages: Specifying the source language
  is no longer required; the language of the HTML document is used by default.
- Changed: Website statistics script improved. Option to disable logging of your
  own page views.
- Minor bug fixes.

Version 1.7.0 (2026-02-01)

- New: Guestbook
- New: Color scheme switching (Automatic, Light, Dark).
- New: RSS feed (including widget)
- New: Multilingual articles with automatic language switching.
- New: Snippets "Centered side-by-side" and "Multilingual article".
- Changed: Title and description in the HTML header of articles.
- Bugfix: Category and tag links below the article were faulty
  when the page type "index" was not the homepage (filename "index").
- Bugfix: Page "bouncing" during loading due to menu initialization.
- Bugfix: Table sorter corrected (lib/tableSorter.js).
- Other minor Bugfixes (e.g. Editor).

Version 1.6.0 (2025-12-30)

- New: Snippets "Article card internal", "Website card external", "Audio clip for
  playlist" and "Section, expandable".
- Changed: Added HTML meta data for keywords, website name, article publication
  and update date, and generator.
- Changed: Color scheme (light/dark) made configurable.
- Bugfix: Contact form made XSS-proof.

Version 1.5.0 (2025-05-20)

- New: Snippets "Tooltip" and "No auto-wrapping".
- Changed: Default stylesheet updated.
- Bugfix: Paths in sitemap.xml corrected.

Version 1.4.0 (2024-07-04)

- New: Archive widget to select articles by year and month.
- New: Translate widget for translation of the website into another language.

Version 1.3.0 (2024-06-27)

- New: Editor: "Published" flag for article properties.
- Changed: Only published articles are included in sitemap and widgets.

Version 1.2.0 (2024-06-26)

- New: Print style for printing articles.
- New: Contact form: Administrative information are now multilingual as well.

Version 1.1.0 (2024-06-25)

- New: Editor: Dark mode.

Version 1.0.1 (2024-06-22)

- Bugfix: Editor: Backup dialog: Button "Start" is now initialized correctly.

Version 1.0 (2024-06-21)

- First Release.

