Archiv für die Kategorie „PHP“

WordPress RSS-Combiner 1.1

Montag, 19. April 2010

Merge several feeds into a single ressource


The WordPress RSS-Combiner is intended to merge several Atom, RSS, RDF, etc. Feeds into one single stream. This might be useful for you if you have several social network accounts like Twitter, SoundCloud, Last.fm, a flickr photostream, etc. that you want to include in your weblogs’ RSS-Feed.

Changes since v1.0:

After a bit, well actually it’s been around 2.5 years, I updated my RSS-Combiner Plugin for WordPress this weekend. There are mostly minor changes, and the final, combined feed output can still be improved a bit (which is on my todo list). But for now there are some enhancements made:

  • the SimplePie caching is activated so the plugin uses less server-side ressources.
  • the admin page was updated so that it integrates better into the WordPress admin theme.
  • Limiting the number of items in the output feed was implemented.
  • Changing the length of the articles content and description was implemented.
  • Some warnings, that showed on the plugins first run were fixed.

Download & Demo

WordPress RSS-Combiner v1.1 (tar.gz archive, 170KB)
See the demo feed.

Instructions

  • Download and unpack the archive.
  • Upload its contents to the /wp-content/plugins/ folder of your WordPress installation.
  • Make sure the folder /wp-content/plugins/rss-combiner/simplepie/cache is writeable by the server.
  • Activate the plugin, and add some input feeds.
  • Check that it’s working by accessing www.mydomain.com/blog/?feed=combined-rss2 in your browser.
  • Finally, you’ll want to link to the new combined feed. (eg: <link rel="alternate" type="application/rss+xml" title="WordPress » Feed" href="http://mydomain.com/blog/rss2.php" />)
  • If you need a file-like URL (parameter-free) for the generated feed, you could optionally add something like this to your WordPress .htaccess file:


    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule rss2.xml ?feed=combined-rss2 [L]
    </IfModule>

    (this should be placed outside of the WordPress block)

DaDaBIK Revised

Montag, 8. März 2010

DaDaBik is a “Database Interfaces Kreator”, which helps you building web-interfaces to a database easily. It has been developed by Eugenio Tacchini. Since this is a rather old, yet working, piece of software, no wonder there’s a lot of PHP4 involved :O

I did a redesign of the template in late 2009 and took some time this weekend to get it polished up a bit. What I like about DaDaBIK is that you can provide data editing functionality and are able to adjust the look to a clients CI quickly (just replace one logo and change some colours - the PSD is included).

  • Insert data
  • Login
  • Listing

Although the code of DaDaBIK is from another pre-PHP5-decade, I didn’t see much of a need to change the inner workings of DaDaBIK. So what I did is putting some fresh paint on it using CSS. Since there is no template-engine imlemented into DaDaBik, I had to edit core files here and there for simple markup changes. So! The only thing that makes sense is to offer one complete package here: DaDaBik itself and the new design included.

Installation:
If you’re about to use DaDaBIK for the first time, you might want to take a look at www.dadabik.org as well, since there’s a documentation online giving you more insight. Anyways, the setup is quite easy:

  1. Download the archive
  2. Extract the files, and upload the dadabik folder to your server.
  3. Edit the file includes/config.php and enter your DB settings according to your setup.
  4. Open up the URL yourdomain.com/pathtodadabik/install.php.
  5. DaDaBIK will now set up some internal tables and you’re done.
  6. DaDaBIKs default username is root and the password is letizia

Notes:
It’s important that you have created the database, you entered in the config.php file first. (for example using phpmyadmin).
If you want to, you can use a pre-made MySQL table structure with some dummy entries that I have included in the zip: just copy and paste the contents of dadabik-example-db.sql into the SQL window of the new database in phpmyadmin.

Once you’re done with the basic installation, head over to the admin.php which gives you all the admin options you need to include/remove secific tables and set human readable aliases for the tables.

The last step to perfect interfaces is to click the Interface configurator link on that admin page.
The configurator gives you all the options to customize the appearance, set default values, define which fields are mandatory, etc. etc.

Demo:
Check out the demo of DaDaBIK with the new design.
You’ll have to enter username test and password: test@ddbdemo to enter.
(please keep in mind that a lot of features are disabled in the demo, since the test-user doesn’t have admin-rights.)

Download:
DaDaBIK Revised 1.0 (1MB, tar.gz)

Subversion Repository:
There is a Subversion repository in case you want to make use of the open source idea or really want to see some old school PHP4 :O

Changelog:
2010-03-09 initial release of DaDaBIK Revised

PHP ZendCon 09

Freitag, 16. Oktober 2009

zendcon Excitement. Excitement. Letzter Tag im Büro. Konferenz und Urlaub klingen zwar zunächst super toll - ein etwas negativer Beigeschmack bleibt aber: ich muss hier das geilste Webseitenprojekt zurücklassen, an dem ich bisher hier werkeln durfte und auch gern fertigstellen würde :(
Nun…
okay, am Wochenende gehts also zur ZendCon nach San Jose, California. Als Neuling auf der Konferenz bin ich mal sehr gespannt, ob diese hält was sie verspricht: 4 Tage intensive Sessions rund um PHP und Sicherheit, Wartbarkeit von Code, Geschwindigkeit, etc. etc. (die Liste der geplanten Sessions liest sich auf jeden Fall sehr vielversprechend). Mal sehen ob ich dazu komme ein bißchen von dort zu berichten und ein paar Sessions zusammenzufassen oder obs nur für 140 Zeichen gezwitscher reicht. Ein paar interessante Einführungen zur ZendCon ach dem Motto “so, you decided to attend ZendCon…” gibts im Netz, die werd ich mir mal noch zu Gemüte führen.

Vorbildlich flexibel: Weblication CMS

Donnerstag, 24. September 2009

Nachdem ich in letzter Zeit etwas weniger mit Weblication CMS Enterprise 4.0 gemacht habe, ist es jetzt geradezu ein Ding der Freude mal wieder ein Design damit umzusetzen. Gerade im Vergleich zu anderen Redaktionssystemen braucht sich das Konzept nicht verstecken: Weblication CMS zerlegt die inhaltlichen Elemente einer typischen Webseite in einzelne Informationsblöcke, wobei alle Daten im XML-Format vorliegen. Über eine Master-XML Datei teilt man dem CMS mit aus welchen Bestandteilen so ein Informationsblock besteht und über ein XSL-Stylesheet hinterlegt man nun die gewünschten Transformierungen die das finale HTML-Markup generieren. Eine simple und ziemlich geniale Idee. Von Standardtemplates, und einem nicht sonderlich hübschem Adminbereich darf man sich nicht abschrecken lassen, denn die Stärken spielt Weblication CMS insbesondere in dieser enorm flexiblen XML-XSL Basis aus.

Wer speziellere Anpassungen benötigt wird um das Weblication Kompendium meines Kollegen Ulf Mayer kaum herum kommen das er unter Weblication Tipps betreibt.

Mehrere Domains – eine WordPress Installation

Dienstag, 24. März 2009

Wer mehrere Domains in ein und dasselbe Verzeichnis seines Webservers zeigen läßt, der hat in der Regel nicht sonderlich viel davon. Klar, meist gibt es dafür irgendeinen Grund. Vielleicht:

  1. gab es mehrere Domains zum Webpaket,
  2. oder man wollte dem Trend zur Zweit- oder Drittdomain folgen
  3. es ließ sich mangels Zugriff auf die httpd- oder vhost.conf nicht anders bewerkstelligen
  4. oder man wollte es genau so haben wie es ist ;)

Zuerst die altbekannte Theorie.

Nun, sofern man eine .htaccess-Datei anlegen kann und mod_rewrite verfügbar ist, kann man sich ganz gut behelfen und die einzelnen Domains ganz nach Belieben in Unterverzeichnisse weiterschicken. Die zwei, drei Zeilen die man in seine htaccess packt lesen sich in der Regel so:

  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3. RewriteCond %{HTTP_HOST} ^(www.)?example.com$
  4. RewriteCond %{REQUEST_URI} !^/verzeichnis/
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteCond %{REQUEST_FILENAME} !-d
  7. RewriteRule ^(.*)$ /verzeichnis/$1
  8. </IfModule>

Damit schickt man nun also alle Anfragen die ein Besucher an www.example.com schickt in ein Unterverzeichnis, in dem sich dann ein fleißiges CMS oder 73 tippende Affen um alles weitere kümmern können. Legt man sowas für jede seiner Domains an, kann man diese für eigenständige Projekte getrennt voneinander verwenden. Immerhin.

Was aber tun, wenn…

… man aus reiner Absicht zwei oder drei Domains auf eine einzige WordPress-Installation zeigen läßt? Ein paar Gründe warum man das vielleicht tun möchte könnten sein:

  1. Man möchte eine mehrsprachige Seite anbieten. Ein Besucher soll allein anhand der Domain entweder einen deutschsprachigen oder aber englischen Artikel zu Gesicht bekommen. Unter www.meinedomain.de/kategorie/mein-artikel/ auf deutsch und unter www.meinedomain.com/kategorie/mein-artikel/auf englisch.
  2. Auch für Entwicklungsumgebungen ist das meist sinnvoll, denn viele Entwickler arbeiten lokal auf einem localhostund nicht direkt auf einem live-Server. Normalerweise muss man sich also händisch einen Virtual Host anlegen oder die Optionen in einer WordPress Datenbank anpassen. Dort nämlich speichert WordPress die Domain unter welcher die Webseite laufen soll.
  3. Ein drittes Szenario wären noch Domain-bezogene Software Lizenzen. Seien es kostenpflichtige Statistik Tools, oder sonstwas. Bitte nicht falsch verstehen - Ich will hier nicht zum Mißbrauch von Software-Lizenzen aufrufen. Aber es kann durchaus vorkommen dass man eine Software auf eine Domain lizensiert, die man zu einem späteren Zeitpunkt nicht mehr nutzt, aber durchaus noch Verwendung für die Software hat.

All diese Szenarien haben eins gemein: man möchte mehrere Domains mit einer WordPress-Installation sinnvoll betreiben. Da WordPress aber wie schon erwähnt die Domain in seiner wp_options-Tabelle speichert geht das nicht ohne weiteres. Natürlich funktionieren die weiter oben schon beschriebenen Bordmittel des Apache auch noch wenn man WordPress verwendet, sobald man aber auf einen Link seiner WordPress-Seite klickt wird man feststellen, dass diese wieder auf die intern gespeicherte Domain verweisen.

Ein Plugin schafft Abhilfe

Im WordPress-Forum hat jemand einen grandiosen Helfer (Plugin) gepostet welches genau für diesen Zweck ideal ist:Using different domains for different languages. Dieses ist zwar eigentlich darauf ausgelegt dem Gengo Plugin einen speziellen Sprachparameter zu liefern, man kann es aber sehr leicht anpassen. Ich verwende es zum Beispiel dazu mein WordPress-Backend mit einer zweiten Domain aufzurufen, ich leite damit auch alle Anfragen auf www. Domains auf eine ohne-www-Version weiter und erlaube zusätzlich eine dritte Domain, die meinem Virtual Host unter Windows entspricht. Somit entfällt nerviges Suchen und Ersetzen wenn ich lokal an der Seite arbeite. Ich kann eine 1 zu 1 Kopie sowohl auf XAMPP wie auch auf dem Live-Server einsetzen.

Vielleicht ist dieser Tip ja auch anderen nützlich bzw. eine Arbeitserleichterung.

Für den Fall, dass sich am WordPress-Forum mal was ändert, oder die Seite offline sein sollte, gibt es hier sicherheitshalber nochmal eine Kopie des Plugins: Using different domains for different languages bei snipplr.com.