|
|
|
Archive for the 'Web development' Category
Friday, August 7th, 2009
The Brief
One of our upcoming projects is for a company selling designer dolls, books and bags online. These are really cool, unique products, and therefore deserve a stunning site to showcase them.
The site is a mixture of a shop and static pages promoting the brand. The brief is for cutting edge design, powerful content management system, and a sophisticated e-commerce solution.
This mix of shop and CMS was a bit of a conundrum – most of our sites are Drupal based, and for a CMS it can’t be beaten (we think!). With the addition of the Ubercart module, we could implement a shop on top of Drupal. Ubercart is pretty good, but lacks the sophistication of dedicated e-commerce solutions – in particular, Magento.
Magento Test/Development Environment
At only a year and a half old, Magento must be one of the newest and most impressive shops available for free. Built upon the Zend Framework, Magento takes the power of PHP 5 and OOP to the next level. Unfortunately XAMPP can’t handle the demands of Magento and crashed every 5 minutes. Adding Zend Optimizer fixed the crashing issue, but Magento is still painfully, agonizingly slow. Enabling caching and moving to a proper server should speed things up, but potential Magento users take note – you’ll need your own supercomputer cluster to run this!
Drupal vs Magento
A speed-demon Magento isn’t, but its advanced features easily makes up for the sluggish performance. The full feature list on the Magento site is longer than the Bible but for us there were a few features that stood out. The newsletter tool integrates perfectly with the shop and has advanced templating. Instant shipping quotes from FedEx, DHL and UPS. Integration with every major payment gateway. And crucially, a cool dashboard with colourful graphs!
Ubercart has some of the features above, but lacks a newsletter and WorldPay integration (which was really important for our client). We’d also need to spend a lot of time customizing Drupal to function how we wanted – with Magento we just needed to change the skin, and tweak the layout.
After a thorough comparison between Drupal/Ubercart and Magento, we decided on Magento. I’ve just begun work on the site, and I’ll add another post later to give you a project update – so check back soon (or add the RSS feed)!
Posted in Web development | Comments Off
Wednesday, August 5th, 2009

Brightlemon are pleased to be a sponsor for this industry leading event, bringing the best of the best together to strengthen and take forward the Drupal empire, to provide the best possible platform in delivering our clients solutions.
http://paris2009.drupalcon.org/sponsors/bronze/brightlemon
Posted in Web development | Comments Off
Wednesday, August 5th, 2009

Market leaders in open source database delivery, providing consistently fast performance and high reliability which makes it the perfect partner for Brightlemon to deliver robust and effective social networking solutions.
http://www.mysql.com/why-mysql/case-studies/brightlemon.html
Posted in Web development | Comments Off
Wednesday, August 5th, 2009

Members of the Drupal Association our dedicated to helping and supporting the open-source Content Management Project. Brightlemon are proud representatives of the association and believe in developing and extending the use of open source software for the betterment of the Drupal community. Using Drupal gives brightlemon the advantage, over its competitor, in delivering the best social networking solutions to our clients.
http://association.drupal.org/civicrm/profile/view?reset=1&id=8666&gid=4
Posted in Web development | Comments Off
Wednesday, August 5th, 2009

www.employlondon.com
Brightlemon has launched a newly developed recruitment site, Employ London. Matching courses and careers for candidates using “Career Developer” technology, Employ London is able to offer candidates a list of courses which are relevant to your dream job. Simply search for jobs in your chosen field and Employ London will automatically show any related courses available.

Employ London also provides benefits for three main users which are candidates, employers and course providers. We provide a range of candidate profiles, specific CV search, and tracking of jobs posts and alerts for all employers. Course providers also receive unique course publicity, detailed course description and a calendar referring to all course outlines.

By satisfying the needs of the candidate, employer and course provider Employ London is able to bring tailored employment services which are specific for the individual, helping them develop key interest or skills in their field.
Posted in Web development | Comments Off
Wednesday, August 5th, 2009

http://www.networkbranded.com/
Network BRANDED, the powerful ready made social networking platform for brand-building is now live. Produced by Brightlemon, the social networking service offers agencies, charities, companies and start-ups the opportunity to produce social networks based around their brands.

With major companies recognising the potential in branded based social networks, Network BRANDED intend to offer network sharing capabilities such as blogs, film galleries and profiles.

Fully customisable, the platform can be tailored to help create a standalone online community tool which can help create over 100,000 spersific users. Also, by utilising cutting edge technology, network branded can help strengthen brands through the social networking phenomena and help engage customers in a one-to-one environment.
Posted in Web development | Comments Off
Wednesday, July 22nd, 2009
Web banners are a form of online advertising where a banner is embedded on a page. Its purpose is to attract surfers to click through to the website linked to the banner,
Web banners are usually png, gif or jpg format but can also take the form of multimedia banners using flash, java or shockwave where the banner might be interactive.
They are usually placed on interesting websites to get the maximum number of viewers. In particular on websites that are related to the banner subject. It would make sense to put an educational banner on a school website. However It would not be appropriate to place a gambling banner on a school website.
An Impression is when a web page is loaded, displaying the banner. A click through is when the viewer clicks the banner and is directed through to the advertised website.
For each click, the content provider usually receives a small amount of money.
Banners present information to attract viewers to the product/service. The success of banners can be monitored in real time.
Skyscraper ads tend to have a higher click through rate so advertisers will pay more for these.
The reason for this is that the bars go down the length of the page so cannot be scrolled past like horizontal banners. It is in view for longer.
A pop up is an ad that “pops up” in a separate window when you go to a page. It obscures the Web page that you are trying to read, so you have to close the window or move it out of the way. They are so popular because they are much more effective than banners.
Floating ads are becoming more and more common as they are even more than pop ups. These adverts float on the page you load up, interfering with the content you are trying to view. They force you to view them, the viewer cannot ignore it. The viewer either has to wait until the ad has finished or click the close button if there is one. They have a very high click through rate but can be very annoying to viewers. Unlike traditional banners and pop ups, it is more difficult to stop floating ads with pop up blockers.
Standard banner sizes
Leaderboard 728 x 90px
Full banner 468 x 60px
Half banner 234 x 60px
Button 1 120 x 90px
Button 2 120 x 60 px
Micro bar 88 by x px
Micro button 80 x 15 px
Vertical banner 120 x 240 px
Square button 125 x 125 px
Thin Skyscraper 120 x 600 px
Standard skyscraper 160 x 600 px
Half-page 300 x 600 px
Large Rectangle 336 x 280 px
Medium Rectangle 300 x 250 px
Rectangle 180 x 150 px
Posted in Web development | Comments Off
Friday, July 17th, 2009
Whilst the default Drupal search is ample for most sites, we needed a search system that was faceted, wouldn’t bog down MySQL, and would work on a cluster. There was one clear winner – Apache SOLR.
From the same people that brought you the ubiquitous HTTP server, SOLR is a java search engine that is hugely sophisticated, yet through the joys of Drupal modules, is really easy to set up. Simply grab this module, and follow this guide.
A bit more work is required to really replace the Drupal search. The Suppress Search module completely hides the drupal search, and redirects all searches via SOLR. How about reformatting the SOLR search results though?
Using Drupal hooks, changing how the SOLR search results look is really easy. There are two hooks of interest: hook_apachesolr_process_results() and hook_apachesolr_search_result_alter().
hook_apachesolr_process_results() is called for each item in the search result. It is passed an object containing the raw search result – the node title, search score (relevancy) etc. The node title displayed can be edited to include the relevancy score:
function apachesolr_custom_results_apachesolr_search_result_alter(&$arg)
{
$show_score = variable_get("apachesolr_custom_results_showscore", 'hide');if($show_score == "show")
{
// append score to title
$arg->title .= " [".$arg->score."]";
}
return $arg;
}
hook_apachesolr_search_result_alter(), on the other hand, is only called once. At this point the raw search result from SOLR has been converted to node objects, so all node details are available to tweak. In the code snippet below I’m hiding or showing the author’s avatar next to each result:
function apachesolr_custom_results_apachesolr_process_results(&$arg)
{
// loop through each result, performing desired actions
for($i = 0, $l = count($arg); $i < $l; $i++)
{
$show_author = variable_get("apachesolr_custom_results_hideauthor", 'def');if($show_author == 'hide')
{
// remove user
$arg[$i]['user'] = "";
}
elseif($show_author == 'pic')
{
// show user avatar
$author = user_load($arg[$i]['node']->uid);
if ($author->picture)
{
$arg[$i][’user’] = theme(’user_picture’, $author);
}
else
{
$arg[$i][’user’] = ‘ ‘;
}
}
}
}
To simplify deployment, I’ve made a module enabling some simple customization of the results. Whilst not that useful in itself, it would make a good starting point for further development.
Module Download
Posted in Web development, Tips, php, LAMP, Apache, Drupal, mysql, Drupal modules, Drupal customisation, Drupal development, Drupal scalability, content management | Comments Off
Monday, July 13th, 2009

Profile- This is your Facebook account. Allows users to upload photos, videos, have contact details and create groups and pages. Status updates allow friends to keep up to date with what you are thinking or doing .
Groups-These are for people to join that have a common interest. Links, discussions, pictures, videos and events can be put up here. Events created from here link to the profile of the creator.
Events: can be created through groups or organisation page. Will link into the profile page as well. From here you can set a date , time and location for the event, invite people and see who will attend or not.
Organisation page- Creating this page allows members to become a fan of the organisation. Doing this shows an update on their profile for everyone else to see. Option to create events for the organisation as well but these are not directly linked like the events from the group. People can subscribe to SMS updates for this page.
The way to find all these things are either from a direct search if the person already knows about shine or the most likely way is from clicking links on other peoples profiles. For this reason it would be beneficial to have lots of friends so that they can all be contacted on new updates and events. From their profile other people may see the shine events and join up.

YouTube allows people to easily upload and share video clips across the Internet through websites, mobile devices, blogs, and email.
Unregistered users can watch videos, registered users are allowed to upload an unlimited number of videos, in addition to this, users can rate, comment and favorite videos. Videos that are considered to contain potentially offensive content are available only to registered users over the age of 18. Accounts of registered users are called “channels.”
Subscribing to a channel will give the user updates whenever the channel is updated with new content. Playlists are a way to categorize related videos together for other users to view. The community section encourages user interaction with events and competitions.

Twitter is a personal micro blog that you can update with short messages. It is a quicker and more convenient form of blogging, keeping people up to date without having to carefully construct a post. The ability to follow accounts and have followers means that you can easily communicate with a whole group of people. Each update is limited to 140 characters and is called a tweet. Users can send and receive tweets via the Twitter website or by text message.
Posted in Web development | Comments Off
Sunday, May 24th, 2009
Here’s how to check, repair and optimise all your mysql tables in all databases on a server…
Am really loving the mysqlcheck command… it allows you to:
- check all mysql tables
- repair all mysql tables
- optimise all mysql tables
in one command…! Mysql rocks..!
mysqlcheck - u root - p - -auto-repair - -check - -optimize - -all-databases
That’s it..
Some tips:
- it’s probably best to kill all incoming processes to speed this up
- even better just to stop the web server (httpd) run this command and restart (add a friendly message for users to see while the site is down)
(Remember if you are using a tool like phpmyadmin (http://www.phpmyadmin.com) you can always log in, browse to the table, select operations and choose “repair”, “check”, “analyse” or “optimise table”)
Posted in Web development, Open Source, Tips, command line, Server administration, LAMP, mysql, Unix, database administration | Comments Off
|
|
|