UPDATE CMS made simple (CMSms)

Update von Version 1 auf Version 2

short and concise manual to help you upgrade your CMS Made Simple website to the latest 2.x release.

  1. Preparations

  1. Check the servers PHP version before upgrade for PHP 5.4.11 or higher
  2. Create a back-up of files and database
  3. Upgrade CMSMS to version 1.12.2 »
  4. Perform all third party module upgrades.
  5. Clean/remove all unneeded templates and stylesheets
  6. Clean/remove all not used third party modules and plugins.
  7. Change Admin Theme to the core default OneEleven

  2. Check third party plugins

Not all plugins are already updated by its developer to be compatible with CMSMS 2.x.

Check before upgrading this list: http://dev.cmsmadesimple.org/project/list_tagged/CMSMS-2

  3. Smarty Scope

Smarty introduces the concept of ’scopes‘ in templates. This version of Smarty does not treat each and every variable as a global. This will solve problems with Smarty variables being inadvertently overwritten, but will cause problems with websites that rely on some global variables.

Formerly, you could create a variable in a module template (for example the News detail template could set a canonical variable) and then use that variable in another template, such as in the portion of your page template. Though this is still possible, an additional step is required.
Some examples:

Templates
Current

{content assign=content}

New

{content assign=content}
{$content=$content scope=global}

Or a bit shorter: {$content=“{content}“ scope=global}

Current

{content block=second assign=content2}

New

{$content2=“{content block=second}“ scope=global}

Current

{description assign=description}
{title assign=page_title}

New

{$description=“{description}“ scope=global}
{$page_title=“{title}“ scope=global}

Current

{capture assign=foo}
  …
  …
{/capture}

New

{capture assign=foo}
  …
  …
{/capture}
{$foo=$foo scope=global}

Current

{assign var=canonical value=$entry->canonical}

New

{assign var=canonical value=$entry->canonical scope=global}

Or a bit shorter: {$canonical=$entry->canonical scope=global}

Current

{$canonical=$entry->canonical}
{$page_title=$entry->title}

New (only in CMSMS 2.x)

{$canonical=$entry->canonical}
{$page_title=$entry->title}

{share_data data=’page_title,canonical‘ scope=global}

Stylesheets
Current

[[capture assign=theme_url]][[uploads_url]]/template[[/capture]]

New

[[$theme_url=“[[uploads_url]]/template“ scope=global]]

Current

[[$my_red=’#EF4A46′]]

New

[[$my_red=’#EF4A46′ scope=global]]

  4. The upgrade!

Now we have done preperations, we can start the real upgrade process!

  1. Create a new back-up of files and database.
  2. CHMOD config.php 644
  3. Download the latest cmsms-2.x.x-install.zip file and unzip it localy.
  4. Read the included readme.txt file for more information.
  5. Upload the installer file to the website root using the CMSMS File Manager.
  6. Perform the upgrade, by opening i.e. www.website.com/cmsms-2.x.x-install.php
  7. Remove the installer file…

  5. Necessary follow-up actions and known issues

  Smarty security setting

Syntax error in template „…“ on line 1 „…“ PHP function ‚…‘ not allowed by security setting.

Add to your config.php file: $config[‚permissive_smarty‘] = 1;

This config variable loosens some of the security configuration for smarty templates. Particularly enabling this option allows the use of any PHP function as a Smarty plugin. You better not use this option if you are allowing content to be submitted for display on your website from untrusted sources! If a function works without this line, you better not add it!

Probleme beim Modulupdate

Falls der Modulupdater verlangt, dass der Core aktualisiert werden soll, obwohl dieser bereits aktuell ist, müsst ihr in folgender Datei:

/lib/classes/class.moduleoperations.inc.php

diese Zeile

if( $tmp && $tmp < CMS_SCHEMA_VERSION ) return array(FALSE,lang('error_coreupgradeneeded'));

kurzfristig (bis alle Module aktualisiert wurden)

auskommentieren

  Template names

During the upgrade the CMSMS Install Assistent might rename page and core module templates to ensure all names are unique.

In a few cases you need to change them at your website:

  • If you use template names in module tags, i.e. {news summarytemplate=’foobar‘}
  • In default page templates with template inheritance, i.e. {extends file=’template:foobar‘}

Vielen Dank an das CMS made simple Dev Team

Quelle: https://docs.cmsmadesimple.org/upgrading/to-cmsms-2.x

CMSms Minify richtig und einfach nutzen

Das Minify Modul für CMS made Simple muss installiert sein.

Nach diesem Muster könnt Ihr Testweise eine URL bilden:

https://domain.tld/unterverzeichnis_falls_vorhanden/modules/Minify/min/builder/

Eine Schleife lädt alle Javascriptdateien die sich im Ordner „uploads/ORDNERNAME/js/“ befinden  in die Minify URL


{* lädt alle js scripts aus dem template ordner *}
{assign var='js_template_scripts_array' value="uploads/ORDNERNAME/js/*.js"|glob}
< s c r i p t type="text/javascript" src="/min/?f={foreach from=$js_template_scripts_array item='scriptname' name=oneitem}cms/{$scriptname}{if $smarty.foreach.oneitem.last}{else},{/if}{/foreach}">



Bitte beim Copy/Paste darauf achten, das ich die Script Tags mit Leerzeichen aufgefüllt habe. Sonst wird der CdeSchnipsel nicht vollständig hier angezeigt.

That´s it

Bootstrap 4 Template für CMS made Simple CMSMS

Dieser Beitrag wurde von https://www.stom66.co.uk/resources/bootstrap-4-template.html übernommen und dienst lediglich als mein Öffentliches Bookmark.

Hier also das Template und die Vorgehensweise zur Installation.

This is my generic Bootstrap 4 template for use with CMSMS. It provides a central settings file to easily change the template, as well as a flexible template with 9 content sections. Sections can be styled through the Content Manager using the Bootstrap classes. It has the following dependencies:

Recommended CMSMS modules:

  • CGSmartImage
  • CGExtensions
  • CSSPreProcessor
  • SitemapMgr
  • Markdown1

Links to the template, stylesheets and required UDTs:

Template Files:
CSS Files:
Smarty plugins:

Place these in /assets/plugins/

Usage:

  • Create a new design in Design Manager called Bootstrap4
  • Create each of the templates above, using the same names (eg „Bootstrap4 Settings“).
  • The default template shoudl be set to:
    • Bootstrap4 Nonuple Cols
  • The following templates should be set as unlisted:
    • Bootstrap4 Core
    • Bootstrap4 Settings
  • Create a new folder under /assets/themes called bootstrap4

Setting up the CSS.

Setting up the app-manifest
  • Create a new page.
  • Name it app-manifest.json
  • Make sure the alias includes the extension
  • Insert a placeholder in the content area. This will not be shown.
  • Set it to use the Bootstrap4 AppManifest template type.
  • Hide it from the menu
  • Update the $manifest_alias variable found around line # in the Bootstrap4 Settings template.

Geschützt: CMSms Bootstrap

Dieser Inhalt ist passwortgeschützt. Um ihn anschauen zu können, bitte das Passwort eingeben:

Veröffentlicht unter CMS | Um die Kommentare zu sehen, musst du dein Passwort eingeben.

Bootstrap Elemente in TinyMCE für CMSms einfügen

Leider ist Dokumentation in diesem Fall sehr schlecht. Daher schreibe ich hier eine kurze Anleitung um ein komfortabeles Backend Menü für Bootstrap basierte Seiten im CMS made simple Content Management System.
Lange Rede kurzer Sinn, jetzt gehts an´s Eingemachte:

Download des Moduls (kostenpflichtig):

tinyMce Bootstrap Plugin

Hochladen der Dateien

Die Ordner bootstrap und css per FTP  (den ganzen Ordner, nicht nur den Inhalt) in folgendes Verzeichnis hinein kopieren:

/modules/TinyMCE/lib/js/tinymce/plugins/bootstrap/

Da, das Modul nur in englischer und französischer Sprache vorliegt, haben wir jetzt 2 Möglichkeiten um es zum Laufen zu überreden:
1. Wir benennen die Dateien: en_EN.php und en.php im Ordner:

/modules/TinyMCE/lib/js/tinymce/plugins/bootstrap/langs/ auf de_DE.php und de.php um.
2. Oder wir übersetzen die Dateien anhand der englischen Exemplare.

Zurück zum CMS:

Activieren des Plugins:
Unter Erweiterungen -> TinyMCE WYSIWYG Editor ein Profil auswählen. Dort unter Erweiterungen -> Erweiterungen: bootstrap eintragen. Bei mir sieht das so aus:
 autolink anchor code fullscreen image link media paste table visualblocks hr emoticons bootstrap

Plugin zur Wrekzeugauswahl hinzufügen:

Unter Werkzeuge -> Werkzeugleiste – zweite Zeile habe ich dann noch folgendes eingetragen: bootstrap

Damit die Werkzeuge auch richtig funktionieren, werden jetzt noch einige Einstellungen benötigt. Unter Vorlagen bitte folgendes hinzufügen:

paste_as_text: true,
image_caption: true,
bootstrapConfig: {
imagesPath:  ‚http://ihredomain.tld‘ + ‚/uploads/images‘,
bootstrapCssPath: ‚http://ihredomain.tld‘ + ‚/uploads/bootstrap/css/bootstrap.min.css‘
}

Wer die Einstellungen jetzt speichert und beispielsweise „Insert/Edit Bootrap Pager“ testet, wird mit einer netten Fehlermedlung begrüßt. So ist es zumindest derzeit bei CMS made simple Version 2.1.6 (so zumindest mit aktiverierter htaccess Datei) :

Forbidden

You don’t have permission to access /cms/modules/TinyMCE/lib/js/tinymce/plugins/bootstrap/bootstrap-pager.php on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

In meinem Fall ist dies die .htaccess Datei welche sich im cms root Verzeichnis befindet. Dort sind Umleitungen vorhanden die vor direktem Ausführen einiger php Dateien schützen sollen.
Leider werden aber auch unsere Bootstrap php Dateien blockiert.
Die Quick and Dirty Lösung lautet:
suche folgende Einträge:
RedirectMatch 403 ^.*/plugins/.*\.php$
RedirectMatch 403 ^.*/modules/.*\.php$

durch eine vorangestellte Raute kann man die Befehle der htaccess Datei enträftigen.

Das Ganze sieht dann in etwa so aus:
#RedirectMatch 403 ^.*/plugins/.*\.php$
#RedirectMatch 403 ^.*/modules/.*\.php$

… fertig, jetzt kann man das TinyMCE Bootstrap Plugin in CMS made simple (2) nutzen.

CMSms TinyMCE HTML Templates für WYSIWYG Editor

Looks like kindof a dead thread, but I just went through the process of figuring out how this works, so I’ll share my findings for anyone who wants to use the template plugin in TinyMCE.

The trick is to place the configuration code in the „Extra configuration“ box in the advanced tab in the TinyMCE config page.

I put this in as a test:
Code:

template_templates : [
{
title : "simple snippet",
src : "tinytemplates/snippet.html",
description : "add a test snippet"
}
],
template_replace_values : {
test : "TEST CONTENT"
}

And snippet.html:
Code:
<p class=“test“>This is a simple <strong>snippet</strong>. Will be replaced: {$test}.</p>

The path to the template is relative to the web root. There is a suggestion above that you could use Template Externalizer to manage the template, and that would work, but these templates become static once inserted into the content–i.e. you won’t be able to change all instances of the template by editing the source template.

This plugin is really just a way to insert complex snippets and give you some variables that will be applied at the time it’s inserted. You could, (and I haven’t figured this out yet) have a pop-up come in that asked for specific content, then when the snippet was inserted, that content would be placed in the snippet. For instance, if you wanted to add a caption to an image, this plugin would allow you to select the image, type in the caption, and then it would do the job of wrapping the caption and image together.

Gefunden im CMSms Forum: https://forum.cmsmadesimple.org/viewtopic.php?t=12138