The three-sphere model of systems management
(image source: IT Project Management, 5th Edition; Kathy Schwalbe; Cengage Learning)
The three-sphere model of systems management deals with the business, organizational and technological aspects and/or issues related to the project that should be defined and considered in order to select and manage projects effectively and successfully. In terms of addressing its advantage on the business side, a project should supplement or serve as an answer to the business goals; whereas, the technological sphere should state the proper hardware and software issues to be resolved. As for the organizational aspect, matters involving the stakeholders should be taken into full consideration. If the project manager would be able to point out as early as possible the aforementioned issues and integrate it to the project it would definitely aid in determining if an organization should invest and produce the project.
In my previous job wherein I worked as a web developer, I was given a task to convert a static website of a magazine into a dynamic PHP website; what prompt the management to engage into this project is the fact that the web has become more sophisticated and that there has been a major shift of “print” audience to the internet. You’ll find below the business, organizational and technological issues of the said project.
Business issues:
1. Would the website be the medium in response to the impact of the internet in a publishing company?
2. Would the website supplement the magazine in terms of advertising?
3. What will the project cost the company?
4. What would be the impact of the website to the sales of the magazine?
5. What would be the cost of maintaining the whole system for the website?
Technological issues:
1. What operating system, server platform, scripting language and database should be used?
2. What will be the server and desktop specifications?
3. Does our current network setup allow employees to develop this project, or do we need an upgrade?
4. Do we have the right internet connection to support this project?
Organizational issues:
1. Do we have the existing manpower to develop the project?
2. What would be the impact of the website to the magazine’s print division?
3. How will the website affect our print audience?
In my opinion the most important issues are from the business and organization spheres, since these two primarily follows the business philosophy – it would definitely be pointless if a project fails to meet the endeavors either on the business or organizational side – it’s doomed to fail if that is the case. Among the three, I guess the technological issues are the easiest to resolve.
VirtueMart error: Credit Card Type not found
I have just discovered what causes the "Credit Card Type not found" error in VirtueMart.
First problem : the "Credit Card Type" drop down box isn't displaying...this lead me to the 2nd problem, which is
Second problem : A javascript "writeDynaList" function is required, but is not included in your current javascript functions. So where will you find it?...moving on to the third problem
Third problem: the "writeDynaList" is inside the "JURI::root(true).'/includes/js/joomla.javascript.js'", but the javascript file isn't loading. WHY NOT?
The explanation can be found through this snippet of code in your <joomladirectory>/includes/application.php, and string search for this condition:
if ( $user->get('id') ) {
$document->addScript( JURI::root(true).'/includes/js/joomla.javascript.js');
}
}
This means, that the user has to be logged in to load the javascript file.
If you want to force your customers to login during checkout, go to:
Administrator->Component->Virtuemart->Configuration->Global->User Registration Settings
then set the value of "User Registration Type" to "Normal Account Creation"
Hope this post helps you. Cheers!
Simultaneously publish your articles to Twitter and Facebook
I have combined and modified codes from Twitter's API and Facebook Connect in order to create a working sample that would let webpage viewers to share or publish a link (from a certain site) to their Twitter and Facebook accounts - simultaneously.
For the Twitter login, I prefer to use oAuth, since Basic authorization/authentication is very unsecure and would be terminated soon.
Here are some helpful developer links to get you started Ü
Facebook Connect
Facebook Connect
Facebook Connect Tutorial1
Connect/Demos
Twitter
Twitter API wiki
Beginner’s Guide to OAuth – Part I: Overview
Twitter-async
Of course, a few modification of my code would let you update your status using a dynamic text, but I'll leave that task to you.
Cheers!
Image Manipulation : Watermark images on the fly through PHP and GD
Let's say you're given a hundred "digital" images and you need to put watermarks on each of those photos.
If you're going to do this manually, man! It would eat a lot of your time.
So here's a solution: a php script that would automatically merge a watermark to an image.
Requirements:
- PHP 4+
- GD 2.0+ Library
- watermark file should be saved as PNG-8, not PNG-24.
<?php
$err=0;
if(empty($_GET['path'])){
$path = 'images/wrongPath.gif';
$err++;
}else{
if(!is_file(getcwd().'/images/'.$_GET['path'])){
$path = 'images/wrongPath.gif';
}else{
$path = 'images/'.$_GET['path'];
}
}
$srcImage = $path;
header("Content-type: " . image_type_to_mime_type(exif_imagetype($srcImage)));
switch(exif_imagetype($srcImage)){
case IMAGETYPE_GIF:
$image = imagecreatefromgif($srcImage);
break;
case IMAGETYPE_JPEG:
$image = imagecreatefromjpeg($srcImage);
break;
case IMAGETYPE_PNG:
$image = imagecreatefrompng($srcImage);
break;
}
if(empty($err)){
$watermark = imagecreatefrompng(getcwd().'/images/watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$size = getimagesize($srcImage);
$dest_x = $size[0] - $watermark_width - 10;
$dest_y = $size[1] -$watermark_height - 10;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);
}
switch(exif_imagetype($srcImage)){
case IMAGETYPE_GIF:
imagegif($image);
break;
case IMAGETYPE_JPEG:
imagejpeg($image);
break;
case IMAGETYPE_PNG:
imagepng($image);
break;
}
imagedestroy($image);
imagedestroy($watermark);
?>
You can download a sample of the script here.




