Category: Technology


Although I don’t really use Adobe Dreamweaver for web development (although if i’m doing interface design where I need a quick way to alter and view CSS changes fast I do) a friend of mine the other day (who uses Dreamweaver heavily) wanted to know how to re-enable the old JSP (Java Server Page) support in Adobe Dreamweaver CS 5 as Adobe removed the JSP support in Dreamweaver CS4 (I believe, may be a slightly older version they removed it however.)

A couple of months ago I developed a secure members system for him in Java (JSP’s and some Java Beans too) using my favourite IDE… NetBeans, he  however wanted to make some visual changes to the JSP files and likes to use the ‘Live View’ mode in Adobe Dreamweaver CS5, so I found out how to re-enable this functionality (although not officially supported by Adobe) and so thought I’d share it here and also explain how to add the latest MySQL J/Connector to be able to work in Dreamweaver as he needed that for the ‘Live View’ too.

To re-enable ‘JSP support’ in Adobe Dreamweaver

  • Open up the Adobe Extentsion Manager
  • Click on ‘Install‘ (to install a new plugin)
  • Browse to and select the following file: “C:\Program Files (x86)\Adobe\Adobe Dreamweaver CSx\configuration\DisabledFeatures\JSP_Support.mxp” and ‘Install‘ that extension.
  • …your done, open Adobe Dreamweaver and your good to go!

To add the MySQL J/Connector for Adobe Dreamweaver

Unlike running your Java web application on Tomcat or another Java application server such as GlassFish etc. Dreamweaver looks in a certain place in the Dreamweaver folder to get its plugin’s to work within Dreamweaver, so when developing with Dreamweaver and JSP and if you rely on a MySQL database (or any other Java libraries for example the IBM DB2 database driver etc ) you’ll need to add these to the folder ‘JDBCPlugins’ in the Dreamweaver folder on your system otherwise you’ll probably see an error message like so:-

“org/gjt/mm/mysql/Driver” class not found

So lets begin…

  • Firstly download the latest MySQL Connector/J from MySQL here: (http://www.mysql.com/downloads/connector/j/), at the time of writing I downloaded (mysql-connector-java-5.1.18.zip)
  • Extract the JAR (Java archive) file named ‘mysql-connector-java-5.1.18-bin‘ from the downloaded archive to “{Dreamweaver Folder}\Configuration\JDBCDrivers\“.
  • Re-open Adobe Dreamweaver and you should now be able to use the MySQL JDBC driver in Adobe Dreamweaver.
I hope this has been helpful to some people :)

So after two weeks of bug fixing by myself and Rustus and the guys from the ‘Support Team’, this evening I’ve released Beta7, this includes the very last major changes for ZPX (the bandwidth calculation, disk usage stats etc.) and also fixes an issue with the webmail client (Roundcube)

So I’m pleased to say that we have made good progress and will be releasing for the external beta testing which is being carried out by the guys and gals that recently donated to help us get vBulletin on the forums.

On the first of April 2012 is when ZPanelX will be released for general download :)

…I think a two week break away from my development machine is well deserved ;)

Well we released ZPanelX internal beta to the rest of the team for a two week ‘testathon’ prior to opening it up to the community members who donated to our vBulletin drive :)

Although so far we’ve seen 15 bugs logged, pretty much all of which I’ve already squashed, I’ll be looking at releasing a new version of the beta this weekend (Sunday more than likely) which will provide all the bug fixes so far.

Its really good to know that ZPX is now out and being tested, the rest of the team seem to like all of the awesome new features that myself and RusTus have implemented :)

It’s going to be a busy weekend for me this weekend, I want to get some more testing of ZPX complete and early on Sunday morning I’ve done an outage to take our current forums offline (forums.zpanelcp.com) and to migrate all the data from our MyBB forum over to our newly purchased version of vBulletin.

I guess by the time I get to post up my next blog entry it’ll more than likely be about releasing ZPX for public beta :D

Just a ramble really… I’ve not posted much recently so….

This weekend I took out my first ever mobile phone contract, fancy mobile phones don’t really interest me all that much and up until now I’ve not cared for a ‘contract’ phone. – I’ve been happy with my hand-me-down phones that I’ve been given by friends however… I love buying new toys for myself and after hearing that three (A UK mobile network provider) was offering their ‘The One’ plan with completely unlimited data and the ability to teather, I thought what a great deal :) – I personally don’t make many phone calls nor do I text (sms) much but the data is awesome… So on Sunday I got my new (white) iPhone 4S and so far I’m loving it! – I have it linked up to my iCloud account, I’ve installed the Dropbox app, Twitter and Facebook apps and a few others too!

Although I already have awesomely fast broadband at home (last week I changed over to Virgin Media’s top package, so I get a 50 meg fibre optic connection, its lighting fast!) and don’t really need the use of tethering just yet, I think my next purchase is going to be  a MacBook Pro to add to my collection of Apple products! – I’ll dual boot Linux with it ;)

You may want to install and use Classic Gnome on your Ubuntu PC, unlike Ubuntu 11.04 the classic gnome desktop is no longer installed as an alternative to the new Unity desktop. I thought I’d quickly share how installed it on my Ubuntu 11.10 development machine, which now enables me to use either Unity or the Gnome Classic desktop enviroment.

So using the terminal, install the gnome-session-fallback package like so:-

sudo apt-get install gnome-session-fallback

So to now use your the newly installed Classic Gnome desktop enviroment simply logout and then use the gear icon just above the username box to change the desktop session to ‘Gnome Classic’.

All done!

Ok well I’ve not posted on here for a while, mainly due to the fact that life has been so hecktic and I’ve been getting myself far too involved in too many different things..

So thought I’d better update you all with some info etc.

Well the last week I’ve managed to do a whole load more coding to the main framework of ZPanelX, I’ve now implemented the modular hook system, this enables module developers to ‘hook’ into core parts of the framework and execute their own code from inside their module/controller.ext.php file.

As well as the hook system, the daemon is now fully complete and I’ve spent the last few days implementing XMWS which stands fro ZPanelX Modular Web Services. XMWS is an XML based web service layer for ZPanelX which enables module developers to rapidly develop web service components within their module.

Luckily I have about 8 days off work in total over Christmas and the new year so I managed to get a lot of coding on ZPanelX done and dusted :) – Hopefully not much will come up between now and spring and ZPanel X will be released on time :)

It looks very nice too!

Recently we have all seen Google change its web user interface from the old very basic buttons  and text  (which it carried for years) to a more fluid design which I think is great (although I will miss the simple controls that Google used to use :) )

So for historical purposes I thought I’d quickly take a screenshot and share it with the web for years to come ;) – Before the new interface becomes default and they turn off the old version permanently!

This is the old Gmail interface style (screenshot taken 2nd November 2011)

This is what the new interface looks like..

 

Today is a sad day for many people, it is today that the world lost a true technology guru and an icon.

I have spent a short amount of time reading many of the nice words that many other big technology people have said about him over at wired.com.

Up until about 4 months ago except for an iPod I never personally owned an Apple computer but recently I went out and purchased an iMac (I am writing this post from it now, see one of my earlier posts on my blog for a photo :) ). I decided to buy an iMac as its simple to use, whilst robust and is a truly lush piece of hardware (I love the design and raw metal look) anyway, that is besides the point.

I thought that it would be foolish of me not to at least attempt to pay tribute to Mr. Jobs.

I was so pleased to see Sergey Brin (co-founder of Google inc.) was actually typed this from his MacBook..

“From the earliest days of Google, whenever Larry and I sought inspiration for vision and leadership, we needed to look no farther than Cupertino. Steve, your passion for excellence is felt by anyone who has ever touched an Apple product (including the macbook I am writing this on right now). And I have witnessed it in person the few times we have met. On behalf of all of us at Google and more broadly in technology, you will be missed very much. My condolences to family, friends, and colleagues at Apple.”

It just goes to show how many people use Apple products and what a true impact Steve has had on so many peoples lives.

My thoughts go out to Steve’s family and extended family over at the big Apple family.

Rest in peace Steve, you truly are one in a billion!

Well I know there are a lot of tutorials on the internet regarding the installation of Git server on Ubuntu but I thought I’d try to ‘KISS’ (Keep it simple stupid!), most of the tutorials are full of non-nessacery information and quite often don’t go into detail (or at least explain in an easy to follow way) about why we set it up this particular way.

In this tutorial I plan to explain in an easy to follow way a proven method of installing Git to host Git repositories on a Ubuntu Server.

Installing Git
This needs to be done on the server and also on your workstation, these instructions however need to be run on the server logged in as ‘root’ user – or use ‘sudo’ but I do it under ‘root’ personally.

sudo apt-get install git-core

Installing Gitosis
Gitosis seems to be the ‘trendy’ way for easy configuration of Git servers, so we’ll install that now too.. So we’re going to use Gitosis which needs python and a python setup tool to get running. Grabbing the python setup tool in Ubuntu will grab all the requirements if you don’t already have them:

sudo apt-get install python-setuptools

Now that we have python and the python setup tools installed we need to ‘clone’ the gitosis software (as that is the standard way to grab it, we are grabbing it from a git repository :) ) – So what we are doing now is creating a temporary folder called ‘src’ of which we will be using to store the gitosis code.

mkdir ~/src
cd ~/src
git clone git://github.com/res0nat0r/gitosis.git

Now what we do is install it (Gitosis) using the python setup tool we grabbed earlier.

cd gitosis
sudo python setup.py install

Setting security…
We’re next going to add a new user called git. This is the guy that will do all the heavy lifting for us!

sudo adduser –system –shell /bin/sh –gecos ‘git version control –group –disabled-password –home /home/git
git

IMPORTANT: If you have locked down ssh, don’t forget to go into your /etc/ssh/ssh_config file and add git to the list of Allowed Users that can login. That list of users is separated by a space not a comma.

I always encourage the use of public/private key exchange and in the case of gitosis it looks to be required. Generate a key if you haven’t already. See instructions for public/private key here. I’m going to assume that from this point on you can access your server from your local machine using a public key exchange!

Next, copy your id_rsa.pub file over to your server somewhere (in our example we’re using /tmp) and then run this command:

sudo -H -u git gitosis-init < /tmp/id_rsa.pub

You’ll see output like this:

Initialized empty Git repository in ./
Initialized empty Git repository in ./

We’re now done with the server config; from your local machine, test it out with this:

git clone git@YOUR_SERVER:gitosis-admin.git

If all went well you have a gitosis-admin directory with a gitosis.conf file and keydir directory. We’re basically setup now. We just need to create a new repository and push it to the server.

Config Gitosis for a new project (repository)

Use your favorite editor to create a new block under the gitosis one. It should look like this:

[group myproject]
members = ballen@Bobs-iMac.local
writable = myproject

A couple of things to watch out in the above block. First, make sure your name matches what’s in your public key (that is, open your id_rsa.pub file and see that what the name says. Mine says ballen@Bobs-iMac.local so that’s what I have above. Yours will be different.) Second, make sure you spell writable correctly!

Once you’re done, commit and push the changes up to the server.

git commit -a -m “created a new repository!”
git push

What we’ve basically done in this step is configured gitosis to accept a new repository. We then submitted that new configuration to the server using Git itself. Genius!

Put your local code under version control.
Now that the myproject project is waiting for us on the server let’s go put it under version control on our local machine.

cd myproject
git init

As you may have heard, most of the goodness with git is in a special hidden .git directory at the root of your project. That’s pretty cool since it means removing your project from version control is as simple as erasing that directory. Way easier than subversion.. especially if something goes wrong..

If you’re a Rails developer you may want to blacklist some things from being under version control. Open up a text editor and create a file called .gitignore in the root of your project directory. Fill it up with this goodness:

.DS_Store
log/*.log
tmp/**/*
config/database.yml
db/*.sqlite3

Designate the server as a remote repository.
An interim step here is to remote add the files to the server we set up previously. Honestly I’m not sure what’s going on here under the covers but it’s necessary..

git remote add origin git@YOUR_SERVER:myproject.git

Add files and commit!
Let’s add everything to git, (note the trailing dot) and then push your initial commit to the server.

git add .
git commit -a -m “initial import”
git push origin master:refs/heads/master

Once that’s done you’re done! You can grab your code from any place that has public key access to your server using this command. – You’ll need to ensure you add the contents of the public key to the /etc/authorized_hosts file to allow access to the Git server (Don’t add any extra lines etc.).

git clone git@YOUR_SERVER:myproject.git

Adding additional repositories are as easy as adding another block to the gitosis-admin.conf file and then initialising it using the above method.

Hope you enjoyed this tutorial, much of the content came from this forum post, I have tested and ensured that it is working perfectly in Ubuntu Server 11.04 and added extra information where I have felt it is necessary to explain certain things.

Well I haven’t blog’d for a month so thought I’d better update you all with what’s been going on recently…

Well I decided to give GitHub a try out (I’ve had an account registered on the site and I reserved the ZPanel project name) but haven’t yet given it much of a try-out but as I released the latest version of Zantastico I decided that I would use Github to host the source and maybe I’ll now make the complete jump from SVN to Git for all my source control needs :) – I must say, Github is very cool indeed (once you get your head around how the permissions work and adding your machine keys etc.). The web interface offers some lovely features that allows you to edit code from the browser and will automatically revision it too :)

Also over the last month, I decided that I needed to upgrade and combine my home server’s, I went and bought a Netgear ReadyNAS Duo off Ebuyer… It was knocked down in price a little and thought ‘well why not…’ – It been great, it has some lovely in built features of which not all I am using but comes with DLNA media streaming services, Built in torrent client, APF shares compatible with Apple TimeMachine as well as all the standard NAS protocols.. SMB, CIFS, FTP, RSYNC etc. – I’m really pleased with it, I currently have a single 250GB drive with all my data on it but will be upgrading it 2x 2TB drives which will create a RAID1 mirror. :)

After a long time of meaning to install Rustus’s BIND module for ZPanel 6.1.1 on my CentOS VPS (used for hosting this site and many of my friends personal sites too) I was really impressed.. Rustus is one of the best module developers that I have seen and has produced several third-party modules for ZPanel. I am especially impressed with the DNS module due to how it handles the the ZONE files and how much effort has gone into creating this module. It really is a must for any persons running ZPanel 6.x.x as it is such a time saver… No more logging into UKReg (my domain registrar) to manage my DNS records now… :)

Lastly, not that you are interested… This weekend I went to go and try on a suit for my mums wedding, she is to be married on the 1st of October 2011 and my brother and myself will be giving her away as my beloved grandfather passed away in 2006. Here is a photograph of the awesome suit with me in it (it has ‘tails’ too but the photo isn’t all that good) :)

Until next time… :)