DeeEmm

Pragmatism in code

Michael Percy AKA DeeEmm - Waxing lyrical about life the universe and everything software related since lunchtime 2006.
DeeEmm AKA Michael Percy is an industrial software engineer specialising in language based programming. A long time supporter and contributor to the open source community, he can mostly be found tinkering about creating web sites and writing code for various CMS platforms as well as maintaining several websites of his own.

DMCMS beta builds

In a recent forum post about DMCMS, i promised that at some point the current version would be spruced up a little and released as version 1. This is something that I actually started on late last year, but the work was lost when our house was burgled and my laptop (and also the backup drive) was stolen. This happened last September, and it's taken this long to renew the enthusiasm in DMCMS. This is probably spurned in the most part, by the new direction that the site has recently taken, with more time being spent putting web based code mods together, I've began to start thinking about getting DMCMS finished off again.

With more visitors coming for code tutorials and to buy modifications from the store, DMCMS is a bit of a show-case - not in the respect that it is anything worth looking at (it's 6 years old now, and very basic by today's standards) but in the respect that it may be used as some kind of yard stick for my work. So it needs to be tidied to the point where it is at least presentable.

My ideal goal would be to take it and completely re-write it using the jquery framework, smarty template's and maybe a few other Web 2 goodies. Probably the most important aspect would be making it a multi-user version, to allow commenting and third party participation, and using object based code to allow for extensibility.

So with this in mind - I've taken the first steps to getting the current version up to a version 1 release standard. The main changes that I previously carried out were mostly a simple code restructure. The administration interface was completely split away from the main code so that it functioned as a stand alone interface - and some of the other functions that were crammed into the main code were also parred away.

Continue reading
3877 Hits
0 Comments

BoonexNerd Update

Just had a bit of a chat with James Tadeo, who has recently updated his successful Boonex support site BoonexNerd.net to run from the latest Dolphin version - 7.0.0. James blogged about the migration which he said went fairly smoothly using the migration tool that comes with D7, great news to hear for those of us who have still yet to update.

This got me thinking about the update to my own Dolphin site. I started to have a look at this a little while back - i set up a fresh D7 installation, which had a few issues as I had to reconfigure the server setup to suit D7. then I made a start with the data migration tool. I got as far as transferring the user-base over, but have been pretty busy since, and so have never progressed any further.This is something that I really need to make some time to go and sort out.

My main concern was that my D6 site is fairly modified, and whilst D7 does have greatly improved functionality, it does lack some of the mods that my members have come to expect. These mods are a mixture of purchased mods and mods that I have developed myself. There are also a large number of minor enhancements and bug-fixes that are hopefully now covered by the new D7 feature-set. the site has been developed over the past year, which is a nice and comfortable time frame to have developed a site this modded. Unfortunately with the upgrade, time is not that plentiful.

At present I think I will wait for the D 7.0.1. update to be released before revisiting the upgrade. I will have a look into rewriting the current mods for D7 and see how much work is involved, maybe I can temporarily drop a few of the mods to buy a bit of time.

Continue reading
1951 Hits
0 Comments

Dolphin 6 - Login Redirect MOD

This mod will automatically redirect new members to the profile edit page when logging in for the first time. Every time thereafter members are taken to their profile page

 

DEMO

http://dolphin6.deeemm.com/

Continue reading
2997 Hits
0 Comments

Delete .DS_Store files

Whilst recently packaging some files for distribution, I noticed that that the folders that i was compressing contained .DS_Store files. These .DS_Store files are hidden files used by OSX to store metadata such as icon position and view settings. They are similar to the thumbs.db file used on windows, and are equally annoying when packaging files up for viewing on other systems.

By default the .DS_Store files are hidden in OSX, unfortunately this is not so for other systems where they are displayed alongside whatever content you packaged Not wanting to have to manually drill down through various folder levels to delete each and every instance, I decided to have a quick google to see what I could find.

First page up led me to Ryan Grier's site, where he has an application called the 'DS_Store Cleaner v1.5' listed. The app has not apparently been updated since January 2005, but this is not an issue, as the app works perfectly.

Basically after unzipping the app, place it somewhere on your mac (the application folder seems like a good spot) and then drag it to your dock to create an icon. Now simply drag the folder you want cleaned onto the DS_Store Cleaner icon. After chugging away for a little while, you will be notified by an alret box as to how many .DS_Store files have been deleted.

Continue reading
5437 Hits
0 Comments

PDF Generation - Add Custom text into footer

This is a quick and dirty hack to add some text to the footer of the PDF's generated within Joomla. The library used to generate the PDF's is the open source TCPDF library - http://www.tcpdf.org To add code into the footer of the generated PDF's, you will need to edit the following file:

/libraries/tcpdf/tcpdf.php

Find the following code in the footer() function

//Print page number if ($this->rtl) { $this->SetX($this->original_rMargin); $this->Cell(0, $footer_height, $pagenumtxt, 'T', 0, 'L'); } else { $this->SetX($this->original_lMargin); $this->Cell(0, $footer_height, $pagenumtxt, 'T', 0, 'R'); }

Continue reading
11185 Hits
0 Comments

TinyMCE - add items to style drop down

If you have to display code snippets on your Joomla site, you might find that the following mod is of help. This quick mod will allow you to add items to the styles drop down in the TinyMCE editor - in this case a style for the code class.

The mod is pretty straight forward.

Normally when TinyMCE is called it looks for a stylesheet called 'editor.css' in the default templates CSS folder. The contents of this are used to propagate the styles drop down. If this file is not found in the default templates CSS folder, then the system version is used instead. To add custom styles to the drop down, simply create the following file. (where current_template is the name of your template)

/templates/current_template/css/editor.css

Continue reading
9084 Hits
0 Comments

Toggle Hidden Files In Finder

This is a great little tip for showing hidden files in OSX. Normally all files are hidden, and so access to the hidden unix filesystem is not possible. This is easily overcome however. You can either permanently disable this feature by running the following command in terminal.

defaults write com.apple.Finder AppleShowAllFiles YES

or, if you need to change the visibility on a regular basis the following may be of more help

Open up the apple script editor and paste in the following code

Continue reading
3268 Hits
0 Comments

DMCMS Lost and forgotten?

Development on DMCMS has laid dormant for a while, and to most it probably seems like it has been abandoned. Work commitments, managing websites, becoming a father, running my own business, renovating a house, building a car or two, plus various other projects take up lots of time, and I end up finding that I have none left to do things like develop DMCMS.

Last year I actually picked up from where I had left off and rewrote the current 0.7.6 version to release it as a branch of the main code - `DMCMS Light Version 1`. A lot of progress was also made on the Version 0.8.0 code, with many features production ready. Unfortunately we suffered a break in at our premises, and both the laptop the code was developed on, and the backup drive were stolen. Unfortunately, as a result of this, all of the development files were lost, as I had not committed any changes to CVS.

Having just updated the site, I just noticed that most of the work on the 0.7.6 release was uploaded here - the old site was running from it as it was one of my live test sites. So with a little work, I should be able to get back to the same status - a production ready version 1. At this stage I am not completely sure what status the code is at - there may have been other untested changes that were lost, but the main part of the re-write - a change in file structure - is very obviously still intact. When I get time, I will have an audit.

Unfortunately, the theft, and the loss of most of 0.8.0 has now made me have a bit of a rethink about what to do with it, and at present, I am not sure whether I will continue. There is simply too much ground to make up. If anything, a full rewrite might be both a quicker option, and one that brings DMCMS up to date. There are a lot of well thought out aspects of DMCMS, but there are many aspects that do not lend themselves well to managing a user-base, and extensibility - both things that were not considered way back in 2004 when I first started writing it.

Continue reading
2897 Hits
2 Comments

VMware Fusion - Increase virtual machine size

Like many ex M$ Windows users, I still have the occasional need to use it to run programs on that will not run under OSX. For example, probably all of the programs I use for PLC programming simply will not run natively on the Mac. This leaves me with two options - carry round another laptop (sometimes happens), or use a virtual machine.

A job I did recently for a client required I install some additional windows based software, to program the obscure controller that they had. At the time I just had my Mac on me, so I powered up Vmware and started to install the code. Unfortunately the installation started to hang about half way though - the issue was a nearly full disc.

I keep my virtual disc size fairly lean - the work I do is quite storage intensive, requiring lots of space, so I tend not to waste space if I can avoid it. It's easy enough to resize the disc if necessary. So that is what I did. Fortunately I am usually prepared for these things as you never know what will happen when you are stuck working in the middle of nowhere,

A friend of mine, just emailed me to ask how to change the disc size, so I thought I might as well add it up here

Continue reading
4622 Hits
0 Comments

Times a Changing

The site migration is pretty much finished, with just a few small odds and ends to fix up. One of the things that I have left to do is to add in some re-directions for the old content. When moving content it is always a good idea to redirect visitors to the new location with a 403 error response to the users browser. This will in turn be trawled by the web crawlers and your new location duly noted. As the old content locations followed the navigation structure of the old site code, I can add in one or two rules in my htaccess file using mod_rewrite and regex to redirect users from specific areas of the old site.

You may have noticed that the new site no longer runs from DMCMS, and whilst I do feel more than a little guilty about this, I simply did not have the time to integrate shopping carts, trouble ticket systems, forums and user handling into the DMCMS core. It was much quicker and easier to use existing products. Plus, the idea with DMCMS is that it is a simple and easy to use CMS, so integration of additional third party software does not fit with the idea behind it.

The online store is now up and running, although there is currently only one product (DMCMS) this is just for testing purposes. I will add in the premium mods as I develop them. All mods are instantly downloadable on checkout. There are one or two mods for Dolphin 7 already in the works, with more planned to come.Purchasers of premium mods also get access to the helpdesk system for dedicated support.

There are free mods available from the Resources > Tutorial section, this is basically the 'How To' section from the old site, that has now been categorized, I will add hints and tips here as I get time. There are a bunch of mods I developed for Dolphin 6 that I need to convert into proper mod format. My ultimate idea is to strike a balance between free mods and paid mods.

Continue reading
2910 Hits
0 Comments

Fixing the paragraph spacing issue

You may have noticed that after neatly setting out your post within the TinyMCE editor, when the page is published, the paragraphs are all squashed up.

The issue is a CSS issue. Basically the style applied to the P tag by TinyMCE and D7 are different - so it displays OK in the editor, but when the D7 code renders it - it is displayed differently.

The offending code is in templates/base/css/general.css, the attribute margin:0px is applied to the P tag, remove this and the issue will be gone, BUT there is one caveat - obviously this affects ALL instances of the P tag - so it may be that whilst this cures the immediate issue, it may cause problems elsewhere (i've not tested this, and this may be different for your site - depending on which template you use and what modifications you have applied to them)

To fix the issue, you will need to change general.css in two places -

Continue reading
3707 Hits
0 Comments

Dolphin 6 - Add / Move Advertising Banner To Block

If you would like to utilise the inbuilt banner manager in Dolphin, you are stuck with the locations lais out in the templates. Sure you can move the banners to another position within the template files, but what about if you wanted the advert to appear in it's own block? Well, here's how...To add the banners to a block you will need to add a PHP block - to to this simply drag one into the desired position in the page builder in the admin panel. I've added one to the left column on the homepage. Rename it with something meaningfull - i named mine 'advertisement' :DNow here's the tricky part... You will need to directly edit the database to be able to add your PHP code. I personally use phpMyAdmin, but there are many other database editors out there.So fire up your favourite database tool and go to the 'PageCompose' table and search / browse for your newly added block.Now add the following PHP code to the 'Content' fieldecho banner_put_nv(2);

(the number 2 relates to the left block - 1, 3 and 4 relate to the top, right and bottom blocks repsectively)

If you are using the borderless block mod - you will also need to wrap this in a div and give it a height as it will overlap the content below it.

Now, once you've entered this- go back to the admin panel and move your newly created block to another position - and then move it back to the desired position. This clears the cache - if you don't do this - your new block will not display. Now navigate to your homepage and check out your new banner ads in a block.

Continue reading
4190 Hits
0 Comments

DOLPHIN - Create Custom Blocks

Just a very quick tutorial this time.i was looking for a way to create a block that didn't have the normal border and header so that I could add in my own custom HTML. After looking through the code, this is very easy to do - in fact it doesn;t even really need a modification (well not in the traditional sense of the word).Basically what you need to do is this...

Go to the Page Builder in the admin interfaceCreate a block by dragging the 'Simple HTML' sample into position.Add your HTML / text etc, give it a meaningful caption and save itNow you will need to get access to your database by using something like phpMyAdmin.Go to the 'Page Compose' table and find the entry for your newly added block - TIP look for the same captionNow edit this record so that the value of 'Design Box' is 0Now you can checkout your new border-less block by viewing your site in a browser.

DM

4075 Hits
0 Comments

Dolphin MOD - Upcoming Events

One thing that has always bugged me about my dolphin site, is that it always shows me events that are waaaay waaaay in the future - This is of little use as it hides the upcoming events - practically meaning that no one knows what is happening in the coming days / weeks / months / etc.

This is easily fixed with a quick hack.

To display events so that they show from the next upcoming event onward...

Edit /inc/classes/BxDolEvents.php

Continue reading
2276 Hits
0 Comments

UEX Ultraedit For Linux

uex.jpg

 

It's a very exciting time in the DeeEmm office, we have been made part of the beta team for UEX - yes, that's right - UEX - the Linux version of Ultraedit - the long awaited port of Ultraedit to the Linux platform.The new Ultraedit for Linux is nearing the release date and a few lucky users have been chosen as beta testers - We were lucky to be one of those.

First impressions of UEX are exactly as expected. UEX is very similar visually to UEDIT and UEStudio. It differs in that there are a few features that are missing or different, but it likely that these will appear with the final release.We've been using Ubuntu 9.04 to run the UEX beta on, and we've been using it for the current re-write / tidying of the DMCMS version 1 release. So far our findings with UEX are pretty much as expected with a beta release, mostly the code works as expected, but with the occasional bug / hangup. Hopefully our dilligence with reporting the errors will mean that RC1 will as robust we have all come to expect Ultraedit to be, and that the final release of UEX is not too far behind it.

There are also rumors of a mac port of UEX, although there is no timeline currently available for it. My guess is that once UEX is up and running it will be little matter to port it to the mac platform.

Continue reading
2617 Hits
0 Comments

Dophin X-Site RSS Feed Bouncer

Using Boonex Dolphin software can be a bit taxing on your patience, there are many idiosynchracy's that alter the way that Dolphin works from how you would expect most 'normal' scripts to function. One of these is the way that it displays forum posts within groups, blogs and on the main page.

Like many sites, forum posts are aggregated in RSS feeds, different feeds are available for different users, groups, forums and categories. The feeds are available to anyone who wants to view them. Unfortunately Boonex have decided that they should use the same feeds to aggregate data within the site, whilst this may seem like a great idea on the outside, it does however introduce problems on some servers.

So you have installed Dolphin and are now stuckk looking at te spinning icon that tells you the latest forums posts are loading.. and loading... and loading. In fact it seems that they will never load.

This can be one of two things.

Continue reading
3446 Hits
0 Comments

Coda - Web Code The Mac Way

http://www.panic.com/images/major4-3.gif

 

It's been a long time since I switched from using Windows as my primary development platform, and whilst you may hear a fair bit about the effect that this has had within my posts (for better or worse). Something that i have never really been able to completely replace on either the Mac or Linux platform was my favoured editor - Ultraedit. Deep down I have a soft spot for Uedit, and whilst it can be a little bloated for simple tasks, years of useage and tweaking to my liking made it my favourite tool for all kinds of development work.Gedit on the Linux platform, once endowed with a few useful plugins, becomes a useable tool for web development. The inclusion of tools such as the 'Class Browser' (http://www.stambouliote.de/projects/gedit_plugins.html), 'Symbol Browser' (http://symbol-browser.sourceforge.net), 'Word Completion' (http://users.tkk.fi/~otsaloma/gedit) and 'Find in Files', makes Gedit a really useful editor, which whilst not really feature packed is more than capable, which is excellent for the standard packaged editor that is supplied with the Gnome desktop.For the Mac, there are quite a few editors out there, some free some not, none are really on par with Ultraedit featurewise, but this could be seen as a plus in some respects. I was quite happy using TextMate for web development work, especially as it had plugins available for code browsing and project handling, that is, until I found Coda.Coda, takes up where other editors on the Mac finish, and whilst it may only be aimed at web development, it includes everything that you might need in the day to day life of a web dev.Coda integrates the most useful programs all into one single IDE, it includes project management, an FTP client, text editor, preview window, css editor, SVN client and even a terminal window for remote access to your web server.The Project management features allows you to keep local and remote server details, as well as FTP and SSH login details all together, meaning that when working on a project it is easy to upload / download files, check the results of your work in the inbuilt browser, edit css etc. There is even a built in book library that includes books for HTML, Javascript, CSS and PHP, There is also the ability to add more if you so wish. The in built code navigator allows quick access to classes and functions, and with the addition of a few extra plugins you can also validate your PHP code, and perform other actions such as HTML tidying and url encoding. All of this is in addition to the standard expcted features of any decent editor such as tabbed MDI, syntax highlighting, find in files, text commenting, text conversion and even split window editing.Coda is not a free application, but does offer a free demo. If you're in the market for a decent development platform for web apps, then give Coda a try, I'm sure that you will not be  dissapointed.Coda is available from Panic software at http://www.panic.com/coda/ DM

4013 Hits
0 Comments

CSS For Beginners

{jcomments on}

After discussing template editing on another site, and how easy / hard it is to change the look and feel of your site to make it your own. I decided that in my opinion, the whole process is fairly simply to do but requires that you have knowledge of a few skills and a few tools to hand to help you out.

This is a basic outline of what to do and how to do it, use it as a guide to get you started on style modification, and applied to all sites using css and html.

First things first - lets cover the REAL basic stuff - not that anyone wanting to do this kind of stuff should be that much of a novice (you need at least half a clue), but more to emphasize the RIGHT way to do things. There are rules laid down by W3C and we should all do our best to read, understand and apply them.

Continue reading
1958 Hits
0 Comments

New Communities

It's been a little while since I've posted anything here, my time has been taken up with other projects which has left me with very little time to work on the CMS or update the site. You would probably have noticed that the proposed version 8 is currently on hold (see DMCMS news), this is likely to stay like this for the foreseeable future, I simply have too much work on a present which means something has to give. There have been a few minor updates to the DMCMS release whch will be combined into the next release - Version 1 !!!!The code has been in regular use on many sites now and has proven to work reliably enough to wear the Version 1 badge. This means that the whole thing will be repackaged and supplied slightly differently from previous releases. The database layout will be the same but the table prefix will be shortened. there will be a conversion script for the previous versions database but it is reccomended to simply reinstall the software. For this reason there will be no update path from the current version to Version 1.The new version will hopefully be up within the coming weeks.One of the other project's I have been working on is a social networking site, this is still in it's early development stages but is up and running and utilising a social networking product called Dolphin. Dolphin is a PHP / SQL  and AJAX powered site that was initially designed to power dating sites. Dolphin has progressed in recent years and now can be modified quite easily to work with any type of social networking site. The dating specific features can be disabled or modified to be more suitable to the sites content. I may post more about Dolphin over the course of the project so if you're a dolphin user or need some help with your Dolphin site be sure to check back.

2117 Hits
0 Comments

How To Pass It On

This week has been an interesting time in the Linux driven portion of the household. After struggling with my HTPC in the lounge getting slower and slower, it was finally taking longer to boot up than I had patience - which meant that I had to find some time to have a look at it. I put the machine together a few years back, it's based on an old Asus A7N8X Deluxe MOBO running an AMD Athlon XP 1250 that I fitted into an Origen AE case. I installed XP Media Centre on it and pretty much left it at that - that is until I decided to try and fix it.I tried all of the usual suspects - but none made any difference, I ended up trying a repair from the install disk, but the problem with XP MCE is that the media centre part is a hacked on extension to Win XP and not really part of the core. Needless to say - the recovery didn't fix it either,So left with the choice of a complete reinstallation or updating to Vista I decided to look elsewhere. The XP install would be relatively painless but as support will no doubt end soon upgrading is the sensible option. The only problem with that is that Vista is not really much of an upgrade- I had it on my laptop for less than a week and then junked all Micro$oft apps in favour of open source alternatives - Ubuntu / Open Office etc.

On the subject of Windows... Being a long time user of windows (3.11 > 95 > 98 > 2000 > XP) The transfer from 2000 to XP was a big step. I abstained from changing to XP for a long time as it had a lot of issues running the software that I used (IDE's for Industrial Robot and PLC programming). I nicknamed XP 'Windows for Girls' as it seemed to have no real benefit over earlier versions apart from the horrible little animated icons that automatically appeared to tell you how to do something that you already knew how to do. Whilst it may have looked more polished around the edges, it did not run that much better. It also gave me headaches by forcing me to migrate from a perfectly good VB6 to VB.Net.

The most amusing thing with XP was that not long after it was released SP1 appeared to fix massive seciurity issues (XP was advertised as more secure / faster / etc) The irony was that the patch to fix the security issues slowed the machine down massively and also broke most of the software that was released as XP compatible (afforementioned IDE's etc). As a result many of us ran XP without the SP1 update for quite a while.

When I bought my most recent laptop it came pre-installed with Vista. So I decided to give it a go.

Continue reading
2257 Hits
0 Comments