Framestarter – Webanwendungen schneller entwickeln

Default Frontend-Template des Framestarters

Default Frontend-Template des Framestarters

In meiner letzten Webanwendung habe ich das Framework CodeIgniter eingesetzt und getestet. CodeIgniter ist sehr gut, schnell und leichtgewichtig. Deshalb kann ich es absolut empfehlen.

Ein Punkt hat mich jedoch gestört. Von Beginn an sind nicht die gängigen Komponenten vorinstalliert, die eine Durchschnittswebanwendung benötigt. Man kann zwar diese Komponenten mittels Plugins nachinstallieren und konfigurieren. Jedoch kostet das den Entwickler bei jeder neuen Webanwendung wieder wertvolle Zeit, die er in die Entwicklung der eigentlichen Funktionen stecken könnte.

Ein Ansatz bietet BonFire. BonFire wurde speziell für die schnelle Entwicklung von CodeIgniter-Anwendungen programmiert. Hier sind von Beginn an schon viele Plugins und eigene Erweiterungen integriert. Allerdings sind das bereits zu viele. Bspw. ist der Administrationsbereich schon zu umfangreich. Auch die Templates sind zu umfassend. In diesem Fall muss man nach der Installation Quellcode anpassen oder entfernen.

Es wird ein Startpacket mit allen Komponenten benötigt, die auf möglichst allen Webseiten zu finden sind. Im Zweifelsfall ist die Komponente weg zu lassen und nachträglich zu installieren und zu konfigurieren.

Deshalb soll Framestarter Abhilfe verschaffen. Die Idee besteht darin, möglichst schnell eine Webanwendung entwickeln zu können ohne das Rad neu erfinden zu müssen. Framestarter basiert auf CodeIgniter und enthält zusätzlich von Beginn an:

  • eine .htaccess-Datei, die aus der URL /index.php/ entfernt.
  • eine Benutzerregistrierung (Tank Auth).
  • Sprachdateien (aus Tank Auth).
  • Die deutsche Sprachdatei wurde angepasst.
  • ein Administrationsbereich mit der Möglichkeit schnell ein Rechtesystem umzusetzen. In  der Datenbank wird standardmäßig die group_id = 3 gesetzt.
  • ein Templatesystem (beinhaltet bewusst zwei rudimentäre Themes für das Frontend und Backend).
  • HMVC, um das Template in Bereiche unterteilen und modular entwickeln zu können.
  • Bsp.-Modulpositionen sind in den Konfigurationsdateien modules.php und admin_modules.php hinterlegt.

Framestarter spart dem Entwickler zu Beginn des Projektes eine Menge Zeit. Somit kann dieser direkt mit der Programmierung der eigentlichen Funktionen beginnen.

Framestarter kann hier kostenlos heruntergeladen werden.

Über ein „Like” oder einen Kommentar würde ich mich sehr freuen. Danke!

5 Blogsoftware-Anbieter im Vergleich

Im letzten Artikel habe ich 9 Bloganbieter verglichen. Wer aber einen professionelleren Blog erstellen möchte, der benötigt Blogsoftware, die er auf dem eigenen Webspace installieren und konfigurieren kann.  Zum Glück gibt es dazu Open Source Software.

Nachfolgend finden Sie in der Tabelle 5 Blogsoftwareanbieter im Vergleich. Ursprünglich stammt der Vergleich von diesem Blog aus dem Artikel „Blog-Software: Fünf Programme im Vergleich“. Leider ist der Artikel aus dem Jahr 2009 und nicht mehr ganz aktuell. Deshalb habe ich versucht die Tabelle zu aktualisieren und zu ergänzen. Für Feedback wäre ich sehr dankbar! Auf diesem Weg könnte ich die Tabelle weiter auf dem neuesten Stand halten.

Anhand der Kriterien Sprachen, Themes und Plugins ist WordPress der klare Favorit. Außerdem steht eine sehr große Community dahinter, die ständig die Software weiter entwickelt und neue Plugins hervorbringt.

 

Version

3.4.1

1.6.2

2.4.3

5.14

3.9

Voraus-setzungen
  • PHP ab 5.2.4
  • MySQL ab 5.0
  • mod_rewrite Modul empfohlen
  • PHP ab 5.0
  • MySQL oder PostgreSQL
  • Binaries von ImageMagic mit gd2 empfohlen
  • Unterstützung von .htaccess empfohlen
  • PHP ab 5.0
  • MySQL/ PostgreSQL/ SQLite
  • gd2 empfohlen
  • PHP ab 5.0
  • MySQL ab 5.0
  • Perl ab 5.8.1
  • PHP ab 5.0
  • MySQL ab 5.0
Sprachen

64

30

2

9

17

Themes

> 1000

> 100

> 100

> 50

> 10

Plugins

> 6.500

> 200

> 80

> 700

> 20

+

  • einfache Installation/ Bedienung
  • Deutsche Sprachversion
  • Support-Foren /Foren/Homepage in Deutsch
  • riesige Themes/ Plugin-Datenbank
  • zahlreiche Bücher/ Ratgeber erhältlich
  • einfache Installation
  • Deutsche Sprachversion
  • Support-Foren /Foren/Homepage in Deutsch
  • Deutsches Fachbuch im Handel erhältlich
  • zahlreiche Themes/ Plugins
  • einfache Installation/ Bedienung
  • ausführliche Dokumentation
  • zahlreiche Themes/ Plugins

 

  • Deutsche Sprach-version
  • Ausführliche Dokumentation
  • Design-Assistent im Internet
  • Fachbücher im Handel erhältlich
  • große Anzahl an Plugins
  • Deutsche Sprachversion
  • sehr einfache Bedienung
  • übersichtliche Menüstruktur
  • Entwickler hilft persönlich bei Problemen
  • „Zomplog Installation Team“

  • Themes-/ Plugin-Datenbank auf Grund der riesigen Anzahl unübersichtlich
  • durch hohe Verbreitung verstärkt Ziel von Hacker-Angriffen
  • graphischer WYSIWYG-Editor muss erst manuell aktiviert werden
  • Online-Plugin-Suche im Backend benötigt installiertes „Spartacus“- Plugin
  • keine deutsche Sprachversion
  • Sprachenunter-stützung mangelhaft
  • Downloadportal für Themes und Plugins teilweise in Französisch
  • Dokumentation nur in Englisch / Französisch
  • Funktions-umfang benötigt etwas mehr Einarbeit-ungszeit
  • Homepage/ Dokumen-tation/ Fachbücher bisher nur in Englisch
  • Installation vergleichsweise kompliziert
  • Darstellungs-fehler unter IE 8
  • wenige Themes / Plugins
  • Dokumentation dürftig/ nur in Englisch
  • Support nur über englisches Forum auf der Homepage
  • wenige Optionen

 

Über ein „Like” oder einen Kommentar würde ich mich sehr freuen. Danke!

9 Bloganbieter im Vergleich

Auf diesem Blog habe ich den Artikel „Die 10 besten Bloganbieter“ gefunden. Leider ist der Artikel aus dem Jahr 2007 und nicht mehr ganz aktuell. Deshalb habe ich versucht die Tabelle zu aktualisieren und zu ergänzen. Für Feedback wäre ich sehr dankbar! Auf diesem Weg könnte ich die Tabelle weiter auf dem neuesten Stand halten.

Die Kriterien aus der nachstehenden Tabelle sprechen besonders für die Anbieter von blogger.com und wordpress.com. Aber auch die Anbieter von blog.de, blogger.de und twoday.net stehen den beiden vorherigen Anbietern bis auf den Bekanntheitsgrad in nichts nach. Die restlichen Anbieter sind weniger zu empfehlen.

Anbieter

Stärken

Schwächen

Fazit

blogger.com (blogspot.de)
  • sehr umfangreiche Gestaltungs-möglichkeiten
  • Blogs können auf eigenem Webspace unter eigener Domain betrieben werden
  • um einen blogger.com-Blog zu betreiben, ist eine Google-Mail-Adresse notwendig
  • es gibt praktisch keine deutschsprachige Community
  • mittlerweile neben wordpress.com beliebtester und bekanntester Bloganbieter
  • die Community ist überwiegend englischsprachig, so fällt es schwer andere deutschsprachige Blogs zu finden.
wordpress.com
  • bedienerfreundliche, leistungsfähige Software
  • viele kostenlose Themes verfügbar
  • Sprachen gemischt – überwiegend Englisch
  • unübersichtlich – bis man zum gewohnten Dashboard der Software von wordpress.org gelangt
  • neben blogger.com beliebtester und bekanntester Bloganbieter
  • Gute Alternative zum eigenen Bloghosting, wenn man nicht auf individuelle Themes oder Plugins angewiesen ist.
blog.de
  • gute Optik und Benutzerführung, leistungsfähiges Redaktionssystem
  • viele interessante Community-Funktionen
  • das Unternehmen ist international aufgestellt
  • leider noch geringe Vernetzung in andere Blogs, kaum A-Blogger in der Community
  • kein originelles Geschäftsmodell, deshalb große Konkurrenz auf dem Markt
  • der Aufsteiger unter den Bloganbieteren startete spät und ist deshalb noch nicht allzu bekannt.
  • blog.de legt ein flottes Wachstum hin
  • die Kontakte der Blogger zu Bloganbietern verbessern sich
blogger.de
  • große, engagierte, gut vernetzte Community
  • komplett kostenloses Angebot
  • keine störenden Werbeeinblendungen
  • für Anfänger zu komplizierte Bedienung
  • nur sehr eingeschränkter Support
  • das gesamte Angebot ist kostenlos
  • die Community ist einer der besten im deutschsprachigen Gebiet
  • die Software ist sicher, wenn auch nicht ganz unkompliziert
twoday.net
  • sicher und einfach zu bedienende Software
  • große, gut vernetzte Community
  • sehr guter Support
  • Blogs mit erweiterten Funktionen sind relativ teuer
  • kostenlose Blogs verfügen über zu geringen Webspace
  • twoday.net ist der ideale Anbieter für den ambitionierten, beruflich motivierten Einsteiger, der Wert auf einfache Handhabung, guten Service und eine aktive Community legt.
blogigo.de
  • kostenloses Angebot
  • auch für Einsteiger komfortable Software
  • sehr kleine Community
  • ungewöhnliche allgemeine Geschäftsbe-dingungen
  • bunter Anbieter mit zuverlässiger Software und zahlreichen Funktionen
  • Die kleine Community besteht überwiegend aus Schülern.
blogg.de
  • kostenloser Blog mit vielen Funktionen
  • große Community mit bekannten Bloggern wie Thomas Knüwer
  • komplizierte Administration
  • störanfällige Software
  • blogg.de bietet alles, was ein guter Bloganbieter braucht, inklusive großer Community.
  • Die recht komplizierte Software aber ist oft langsam und störanfällig.
myblog.de
  • umfangreiche Funktionen bei einfacher Bedienbarkeit
  • große Community
  • Server oft sehr langsam
  • schlechter Ruf in der Blogszene
  • Der größte deutsche Bloghoster punktet mit umfangreichen Funktionen.
  • Die Community genießt in der Blogszene keinen guten Ruf.
antville.org
  • kostenloses Angebot
  • große, treue Blog-Community
  • für Laien zu komplizierte Software
  • Es können keine neuen Blogs mehr eingerichtet werden.
  • antville.org gilt als Vorbild für alle anderen Bloghoster
  • Die Software setzt jedoch technische Kenntnisse voraus.
  • In die Community findet nur Aufnahme, wer den Blog eines Antville-Bloggers übernehmen kann.

 

Über ein „Like” oder einen Kommentar würde ich mich sehr freuen. Danke!

CodeIgniter-Pagination: aktuelle Seitenzahl wird nicht angezeigt

Für ein Webprojekt verwende und teste ich im Moment das Framework CodeIgniter.

Der Einsatz der Bibliothek „Pagination“ hat leider auf Anhieb nicht funktioniert. Beim Anklicken von Seitenzahlen wurde zwar die jeweilige Seite angezeigt, aber in der Seitenzahlanzeige selbst wurde immer nur die Eins fett dargestellt.

Anzeige der Seitenzahlnavigation

Anzeige der Seitenzahlnavigation

Abhilfe verschafft hier nur der Eingriff in die Bibliothek. Hierzu müssen Sie in der Datei system/libraries/Pagination.php vor der Zeile 157 folgende Zeile einfügen:


$this->uri_segment = $CI->uri->total_segments();

Der Codeabschnitt sieht nach dem Einfügen wie folgt aus:


if ($CI->config->item('enable_query_strings') === TRUE OR $this->page_query_string === TRUE)
{
  if ($CI->input->get($this->query_string_segment) != $base_page)
  {
    $this->cur_page = $CI->input->get($this->query_string_segment);

     $// Prep the current page - no funny business!
     $this->cur_page = (int) $this->cur_page;
  }
}
else
{
  $this->uri_segment = $CI->uri->total_segments();
  if ($CI->uri->segment($this->uri_segment) != $base_page)
  {
     $this->cur_page = $CI->uri->segment($this->uri_segment);

     // Prep the current page - no funny business!
     $this->cur_page = (int) $this->cur_page;
  }
}

 
Wenn Ihnen die Lösung weitergeholfen hat, würde ich mich über ein „Like” oder einen Kommentar sehr freuen. Danke!

PHP: eine dynamische Worddatei erstellen und aufrufen

In diesem Artikel möchte ich Ihnen zeigen, wie man mit PHP eine dynamische Worddatei erstellen kann und diese ohne zwischenzuspeichern dem Anwender zur Verfügung stellt.

Zunächst bedienen Sie sich einem kleinen Trick. Sie erstellen eine Worddatei und speichern diese im RTF-Format ab. Diese Datei dient Ihnen als Template, in dem Sie Platzhalter einbauen und diese später dynamisch in PHP ersetzen können. Im verwendeten Beispiel habe ich die Datei wordfile.rtf genannt.

RTF-Datei

RTF-Datei

Im nächsten Schritt müssen Sie der Datei noch die Endung .php hinzufügen. Dazu benennen Sie im Windowsexplorer die Datei einfach um und hängen die Endung dran.  Die umbenannte Datei können Sie mittels PHP einlesen und bearbeiten!

Anschließend öffnen Sie die Datei wordfile.rtf.php und ersetzen die Platzhalter in PHP wie folgt:


<?php
$content = file_get_contents('wordfile.rtf.php');

//remove php tags
$content = str_replace('<?php /*', '', $content);
$content = str_replace('?>', '', $content);

// replace variables
$content = str_replace('%test%', "Das ist ein Test!", $content);
$content = str_replace('%date%', date("d.m.Y"), $content);
$content = str_replace('%text%', "Hier steht ein Text.", $content);
?>

Und mit folgendem Code wird die Datei, ohne diese auf dem Server zu speichern, zum Anwender gesendet:


<?php
// send file to user
header('Content-Type: application/rtf;charset=utf-8');
header('Content-Disposition: attachment; filename="Test.doc"');
print $content;
?>

Das Endergebnis sieht dann wie folgt aus:

Ergebnis der dynamisch erzeugten Worddatei

Ergebnis der dynamisch erzeugten Worddatei

Wenn Ihnen die Lösung weitergeholfen hat, würde ich mich über ein „Like” oder einen Kommentar sehr freuen. Danke!