Einträge von Mathias Bauer

Framestarter – Webanwendungen schneller entwickeln

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
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
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
Wenn Ihnen die Lösung weitergeholfen hat, würde ich mich über ein „Like” oder einen Kommentar sehr freuen. Danke!