WordPress Development Environment on your USB Stick / Dropbox Dir

I needed a pretty quick and dirty WordPress development environment on my Dropbox dir to work on a WordPress plugin hosted @wordpress.org at random / wherever so… quick one:

1. Download “Server2Go” (http://www.server2go-web.de/download/download.html) : take the version including MySQL

2. copy it to folder \app\server2Go in your Dropbox Dir

3. Change the pms_config.ini file inside the \app\server2Go to

a) keep your MySQL databases after closing down (and maybe add a nice startup pic yourself) and b) have a default root dir “wordpress”

image

4. Fire it Up (\app\server2go\server2go.exe) and open up http://127.0.0.1:4001/phpmyadmin/ , login in as root  without password (as usual) and … as usual: a. create a new empty database for your WordPress project and b. create a new user to be used as the WordPress DB User

image

5. Download WordPress : http://wordpress.org/download/  and extract it to \app\server2go\wordpress\ (this is the root directory you have just indicated in the pms_config)

6. Open WordPress via the browser (http://127.0.0.1:4001) and walk through the setup process to create your database contents and the wp-config.php.

7. Download Eclipse at https://www.eclipse.org/downloads/ , extract Eclipse to \app\eclipse

8. Open Eclipse and install SVN (under help > install new software > “http://download.eclipse.org/releases/kepler” > Collaboration > choose the SVN plugin you need, install it and restart

image

9. Identical : also install PHP development Tools:

image

restart Eclipse (when working with SVN first time choose the JavaHL SVN provider also during the wizard)

DONE

For Example: I assume you want to quickly to some editing on a plugin you are working on which is versioned @wordpress.org (http://wordpress.org/plugins/):

1. Create a new PHP project in Eclipse and “use existing location” and point to the PLUGIN directory in WordPress of the specific plugin e.g. \app\server2go\wordpress\wp-content\plugins\MYPLUGIN  (the directory DOES NOT HAVE TO EXIST)

image

2. Now … rightclick on the new project and choose  Team > Share Project and Point to the WordPress SVN Location your Plugin is located in (yep, the Trunk location) : it will start fetching the latest stuff and place it locally.

image

3. Now you can work on the plugin and once you have a new version (remember to update the readme.txt version number and the version number in your main plugin file) you can  “commit” your stuff to the repository

4. If you want to create a new tag you choose TEAM > TAG and you only fill in the version number e.g. 0.0.3  : it will auto copy the latest trunk to /tags/0.0.3 in your WordPress SVN Repository so the world can download it.

BONUS:

Reference the WordPress folder in the PHP include Path > Libraries and you can lookup the WordPress definitions of classes.

image

Additionally:

Install the portable edition of WinScp next to it, so you can SSH / copy your stuff over to the production server also while you are busy.

Install NotePad++ portable also because sometimes you might run into some BOM problems using Eclipse and copying over the SVN WordPress.org files. (“header already send”) : fix it with the convert to UTF-8 without BOM in NotePad++ (but BE SURE Eclipse is close while doing it!) (really!)

image

Request Header or Cookie Too Large

My Nginx install seemed to kill my Chrome on a specific WordPress site with the message (and notice: only Chrome in Firefox things run smooth…):

400 Bad Request

Request Header or Cookie Too Large

When I Stackexchanged on it, the first thing that came up was to change the settings in the Nginx Config:

large_client_header_buffers 8 32k;

So I disabled stuff, went coding into two of my plugins and even changed php.ini.

However… after some time I noticed it was this cookie that causes the problem:

image

That’s right: a Facebook Cookie of 604K. As soon as I delete that one (via the Chrome Developer Tab > Cookies) everything runs.

Now… in my WordPress template for this page I had a JavasScript Facebook Init where my FB_INIT contained “cookie = true “, I set it to false and presto… error resolved.

Maybe this helps someone sometime somewhere (because it took me some time to get to this, in the meanwhile I had spend time on my “socialbar php library” and some other libs before I ended here.

How much does Amazon Cloud Hosting cost?

A while ago I moved the hosting for this (linux,nginx,mysql,php)(lnmp) weblog and some smaller sites to 1 reserved Amazon “server”. I wanted to give you an overview, now that some time has passed to give you an indication on how much hosting your own server in the Amazon Cloud costs so that I can more easily point someone to this blog posting in case he or she is interested in hosting some (smaller) sites themselves on Amazon.

profile: some smaller websites like a blog and some other websites e.g. a bunch of WordPress websites running on *nix

  • I ordered a reserved instance (see pricing list here: http://aws.amazon.com/ec2/pricing/#reserved) because this is cheaper : you pay a fee upfront so that your hourly rates are lower
  • I ordered the heavy utilization reserved instances because my websites are always on :)
  • I ordered within that category the “Medium Standard image” because the specs (3.75 GB Memory + 2 EC2 Units + 410GB diskspace) are what I expect to need for a couple of WordPress websites

The upfront costs for the heavy utilization reserved instance – standard medium instance Linux (m1.medium) – hosted in N. Virginia are: $ 600 ( in other words $ 16,66 per month )

Continue reading How much does Amazon Cloud Hosting cost?

How to style the WordPress Jetpack Twitter Widget

On millions of WordPress sites running the latest twentytwelve theme and automattic’s Jetpack the Twitter widget looks extremely crappy, just surf around:

image

… because nobody wants to spend the 5 minutes it takes to style it … so … I took 5 minutes for the widget in my sidebar because it irritated me:

image

I do realize that it needs a lot more finishing and that the UTF8 symbols are not supported on a lot of devices … but … for the 1 visitor a day on my blog… do I care enough to spend more time?

Here is the CSS code, if you have some time to style this better, please add the link to your improvements in the comments :)

.widget_twitter {-moz-border-radius:10px;border-radius:10px;border: solid 2px #ccc;padding:4px;background-color:#00acee;color:#fff;}
.widget_twitter ul.tweets li,  .widget_twitter ul.tweets li a {border-bottom:dashed 1px #fff;font-size:12px;margin-bottom:0px;color:#fff;text-decoration:none;}
.widget_twitter h3,.widget_twitter h3 a
  {font-size:13px;text-decoration:none;color:#00acee!important;background-color:#fff;-moz-border-radius:5px;border-radius:5px;padding-left:5px;letter-spacing:3px;}
.widget_twitter h3 a:before {content: url('http://www.google.com/s2/favicons?domain=www.twitter.com');}
.widget_twitter h3 a:after {content:' \2669 \266A \266B \266C';}

New version of WordPress Favicons !

I just released Wp Favicons 0.6.3. I added some client-side xmlrpc transient caching (default 1 hour) and optimized the http requests throttle to no longer do datetime comparisons on the database but in the code.

Try it out and let me know what you think.

what is it?

The wp favicons plugin shows “favicons” in front of all your outgoing links.

It consists of a server which you turn on on a more heavy central wp install and a client which you can turn on on all your clients.

The clients will send to the server a bit of html and the server will return that same bit of html BUT with the icons inserted.

If you have only 1 wp install you can activate both server and client on the same wp install.

If I find the time I will update the documentation both in the code and inline and add some internationalization in the next release.

 

 

 

 

 

Amber Alert WordPress Plugin (Nederland)

image

AMBER Alert is het landelijke waarschuwingssysteem bij urgente kindervermissingen en – ontvoeringen. Hiermee kan de politie bij de ontvoering of vermissing van een kind direct heel Nederland waarschuwen – via PC- en TV-schermen, websites, e-mail, SMS, Twitter, TV en radio. Zo kan de kans op een goede afloop enorm worden vergroot.

Een tijdje geleden blogde ik al hierover.

Als je een website hebt kun je een klein stukje code op je site plaatsen dat slechts enkele keren per jaar een popup laat zien zodat we met zijn allen kunnen meehelpen. De rest van het jaar zie je “niets”.

Maar… omdat het onder WordPress toch handiger is om daarvoor een plugin te gebruiken (zeker als je veel sites hebt), dacht ik: laten we er even een maken als give-back. Er bestaat al een ticker  maar die laat constant een link + radio button zien en bestaat eigenlijk uit niets meer dan een stukje javascript code.

De WordPress Plugin

imageDit hoeft niet veel tijd te kosten, ik hoop dat je hem hierna ook installeert op je WordPress site.

9:42 maak nieuw php eclipse project “amberalert”
9:46 maak plugin file amberalert.php
9:47 registreer plugin op http://wordpress.org/extend/plugins/add/
10:00 voeg readme.txt toe
<andere dingen moeten ook gebeuren>
15:00 hergebruik code, hmm… voeg uid optie toe
15:30 wat code toegevoegd, unit test, versie 0.0.1
16:20 zojuist de SVN access gekregen en geuploaded.
Tijd voor koffie!

 

Hoe werkt het?

1.  ga dan naar: http://wordpress.org/extend/plugins/amber-alert-nederland/ (of zoek simpelweg in WordPress > Plugins naar amber alert) en installeer de plugin.

2. activeer de plugin (zoals altijd)

3. klaar!

Je krijgt nu een paar keer per jaar de popup te zien

Extra’s

1. Ik heb ook de RSS widget toegevoegd zodat je die ook kunt slepen naar je sidebar, je kunt dan een icoontje kiezen uit  verschillende maten. Let op: als je de widget gebruikt hoeft je niet meer de popup “automatisch” te tonen, dus dat kan dan uit. Je vindt het widget onder Appearance > Widgets …

2. De official code generator genereert nog een UID, waarschijnlijk om je site uniek te identificeren. Onder “Amber Alert” >  Opties kun je die unieke UID pasten.

Nog meer?

Ik hoop dat iedereen de plugin op zijn minst op automatisch zet, des te meer mensen zien de melding. Als je nog aanvullende wensen hebt of input (defects/rfc’s) voor versie 0.0.2 laat het me dan weten.

Mischien kan ik in versie 0.0.2 nog een widget toevoegen met laatste foto’s ?