M-Software.de V3.0

SEOCMS

SEOCMS Content Management System

Die schlechte Nachricht zuerst. Da ich nun mit dem CMS ModX arbeite habe ich die Arbeiten an dem SeoCMS aufgegeben. Jedem Webmaster der ein CMS für Suchmaschinenoptimierer sucht sei hier ModX ans Herz gelegt.




M-Software.de - SEOCMS Content Management System V 0.1

Das Ziel von SEOCMS ist es ein einfaches, flexibles, integrationsfähiges Content Management System zu entwicklen, mit dem es möglich ist eine Umfangreiche Site mit vielen Extras, Plugins und speziellen Anforderungen wie z.B. der Thumbshots Webserve umzusetzen ohne dabei ein aufgeblähtes System wie z.B. Mambo zu erhalten.

SEOCMS Content Management System - Die Idee

Die Idee zu dem CMS war geboren, als ich mal wieder in einem meiner liebsten Foren (www.Abakus-Internet-Marketing.de/foren/) unterwegs war und babei den fertigen Kernel des SEOCMS gefunden habe.
Der Kernel bestand aus zwei Teilen.
1. Folgende mod_rewrite Zeilen

RewriteEngine On
RewriteCond %{REQUEST_URI} !/images
RewriteCond %{REQUEST_URI} !/css
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ rewrite.php [L,QSA] 

2. Ein kleines PHP Skript das Webseiten mit der Smarty Template Engine erzeugt.

<?php

header( "HTTP/1.1 200 OK" );
$site = explode( '/', substr( $_SERVER['REQUEST_URI'], 1, strlen( $_SERVER['REQUEST_URI'] ) ) );

require('/usr/share/php/smarty/Smarty.class.php');
$smarty = new Smarty();
$smarty->template_dir = '../tpl';
$smarty->compile_dir = '../smarty_compiled';
$smarty->cache_dir = '../smarty_cache';
$smarty->config_dir = '../smarty_configs';

// set default template
$smarty->assign( 'content', $smarty->fetch( '../tpl/404.tpl' ) );

if( empty( $site[0] ) ) {
     $smarty->assign( 'content', $smarty->fetch( '../tpl/content_start.tpl' ) );
}
elseif( $site[0] == 'bilder' ) {
     $smarty->assign( 'content', $smarty->fetch( '../tpl/content_pics.tpl' ) );
     // zeige bilder, erste seite /bilder/ oder wenn /bilder/x/
     // (in $site an stelle 1)gegeben ist weitere seiten
     if( !class::getPics( $site[1] ) ) {
           $smarty->assign( 'error', 1 );
     }
}
elseif( $site[0] == 'impressum' ) {
     $smarty->assign( 'content', $smarty->fetch( '../tpl/content_impressum.tpl' ) );
}
elseif( !empty( $u[0] ) ) {
      if( file_exists( '../tpl/content_'.$u[0].'.tpl' ) ) {
            $smarty->assign( 'content', $smarty->fetch( '../tpl/content_'.$u[0].'.tpl' ) );
      }
}       

$smarty->display( 'index.tpl' );
exit;
?>

Vielen Dank dafür.

SEOCMS Content Management System - Anforderungen

Die Anforderungen die ich an das CMS System hatte, habe und haben werden sind sehr umfangreich.

1. Template Engine
Das kann mittlerweile jedes CMS und ist schon im Kernel fest verankert.

2. Mandantenfähigkeit
Mandantenfähigkeit bedeutete für ein CMS, dass ich damit mehre Domain verwalten kann und das es die Möglichkeit gibt verschieden Benutzer mit Rechnte auszustatten um einzelne Domain, Webseiten oder auch nur Teile von Webseiten zu verwalten.

3. Integrationsfähigkeit
Eine meiner wesentlichsten Anforderungen ist die Integrationsfähigkeit von belibigen anderen Webseiten, Online Tools oder Webservices. Auch unter der Abkürzung EAI (Enterprise Application Integration) bekannt. Nur so ist es möglich meinen Robot Rules Parser, den Thumbshots Generator, die Suchmaschine Nutch und viele andere meiner Angebote zu integrieren.

4. Sonstige Anforderungen
Neben diesen Anforderungen an das Content Management System stehen die üblichen Anforderungen wie z.B. Performance, Qualität, eine offene API uvm.

SEOCMS Content Management System - Making Of

Starschuss war der 27.06.2006. Als erstes habe ich mit meiner lokalen XAMPP Installation ein wenig experimentiert und schnell eine einfache Engine entwickelt. Das HTML Template und das Menü das ich unter M-Software.de verwende hatte ich schnell verbereitet und dann ein Template für die "Smarty Template Engine " umgesetzt.
Schritt 2 war dann eine passende Datenbankarchitektur zu finden, die geeignet war die Anforderungen zu erfüllen. Für die Version 0.1 habe ich 4 Tabellen erstellt. Nicht berücksichtigt wurden hierbei eine vollständige Benutzerverwaltung.
  • Tabelle error: Enthält interne Fehler des CMS. Wird nur für die Entwicklung benötigt. Sollten In dieser Tabelle Einträge stehen, gibt es ein Problem.
  • Tabelle menu: In dieser Tabelle werden die Menüs gespeichert. Jede Wabseite kann ein eigenes Menü bekommen, wenn es nötig ist. Welches Menü der Webseite zugeordent ist steht in der Tabelle "page".
  • Tabelle menuentry: In dieser Tabelle werden die Menüeinträge zu den Menüs gespeichert.
  • Tabelle page: Eine Webseite. Neben dem URL und dem Titel werden noch Metainformationen gespeichert, die sich später in den HTML Meta Tags wiederspiegeln.
  • Tabelle pagecontent: Jede Webseite enthält mehrere Abschnitte. Jeder Eintrag in pagecontent entspricht einem sochen Abschnitt.
  • Tabelle user: Teil der OP Liste: Wird biser nicht verwendet.


Für wen ist das SEOCMS geeignet

SEOCMS eignet sich für jeden Webmaster.

Der Einsteiger wird schnell und einfach seine Inhalte veröffentlichen können. Die flexible Struktur der Menüs und der einfache WYSIWYG Editor erleichtern ihm die Arbeit.

Der Fortgeschrittene kann zudem noch schnell und einfach PHP Skripte integrieren, ohne dass er Angst haben muss etwas im CMS zu löschen oder zu beschädigen. Eigene Datenbankverbindungen zu MySQL, Oracle, DB2 usw. sind kein Problem und auch die Einbindung von komplexen PHP Projekten wie z.B. phpBB sind mit dem Integrator ein Kinderspiel.

Der Profi kann das CMS mit der offenen API und der zentralen Schnittstelle an seine eigenen Wünsche anpassen und ist auch immer gerne eingeladen Erweiterungswünsche und Spezielle Anforderungen mit mir zu erörtern.

Hat Ihnen dieser Beitrag geholfen? Dann speichern Sie Ihne doch bei diesen Diensten:

Wenn Ihnen diese Informationen zu "SEOCMS" gefallen haben, Sie Anregungen oder Kritik haben, dann schreiben Sie mir doch einfach eine E-Mail an [email protected].