Thursday, May 31st, 2012 by Servage

Have you ever tried MySQL Workbench? It's free to use by the people who give you the great MySQL server technology. Workbench is a desktop application which helps you design and administrate your MySQL servers, databases, tables, users etc. Extremely useful for large and smal projects. I particularly like the data model editor, where you can get a visual overview over your tables and relations between them. Check out the listed features:
Design
MySQL Workbench enables a DBA, developer, or data architect to visually design, model, generate, and manage databases. It includes everything a data modeler needs for creating complex ER models, forward and reverse engineering, and also delivers key features for ...
Wednesday, May 30th, 2012 by Servage

I would like to show a few examples on role based access control in Yii. Yii is a very robust and feature-rich opensource PHP framework, and solves many traditional problems in a clean and fully object-oriented way.
Have a look at your current framework and how you use access control, then take a look at these examples for Yii:
$auth=Yii::app()->authManager;
$auth->createOperation('createPost','create a post');
$auth->createOperation('readPost','read a post');
$auth->createOperation('updatePost','update a post');
$auth->createOperation('deletePost','delete a post');
$bizRule='return Yii::app()->user->id==$params["post"]->authID;';
$task=$auth->createTask('updateOwnPost','update a post by author himself',$bizRule);
$task->addChild('updatePost');
$role=$auth->createRole('reader');
$role->addChild('readPost');
$role=$auth->createRole('author');
$role->addChild('reader');
$role->addChild('createPost');
$role->addChild('updateOwnPost');
$role=$auth->createRole('editor');
$role->addChild('reader');
$role->addChild('updatePost');
$role=$auth->createRole('admin');
$role->addChild('editor');
$role->addChild('author');
$role->addChild('deletePost');
$auth->assign('reader','readerA');
$auth->assign('author','authorB');
$auth->assign('editor','editorC');
$auth->assign('admin','adminD');
You might have noticed that these examples are so straight forward that no detailed explanation is required, since the method names say exactly what they do.
Note the use of business rules
if(Yii::app()->user->checkAccess('createPost')) {
// create ...
Monday, May 28th, 2012 by Servage

Here's a tip to all MySQL beginners or developers who settles for the basic selects and maybe using joins. Selects and joins are great and powerful, they enable you to do what you want. But there are cases where you want or need more. One more advanced requirement is the need for inheritable tables, or polymorphism. This is a more complex database model, but is used in many simple applications.
For example of you have a Content class as the parent for two content types, Posts and Articles. Now, in PHP you can easily extend those classes, but what do you do in the database? Sure, you could use a table ...
Saturday, May 26th, 2012 by Servage

Social media is no longer new and it has already impacted our real lives with interacting media much closer, like the constant stream of shared stuff online, holiday photos, videos, articles, software, websites etc. However social media still hasn't really hit mainstrain in terms of sending and buying real world items like physical goods. Of course it has already started, but there is much more potential than targetted advertisements and crowd apps.
If you can make your website or app be the link between peoples online and offline world, you have great opportunities, like in the beginning of online shopping.
Giftdish is a webapp allowing people to use the benefits of their ...
Wednesday, May 23rd, 2012 by Servage

Sweden's best uptime again with 99,9%
Read more in InternetWorld 03/11.
Do you want you own server? Do you need special software? Are you tired of performance problems? Are you just curious? Well, there are many good reasons to get an own virtual private server. The price is definitely also one of them! Consider this offer from Servage. It's pretty much the same cost as a shared webhosting account!
RAM Memory: 256 MB
Traffic: 100 GB
Diskspace: 50 GB
Full root access
Power On/Off from CP
Backup (snapshots)
ACPI shutdown from CP
Console access from CP
Check out the plans.

Cloud Based Server Virtualization
The TotalCloud server virtualization offering is based on a modular setup where the servers ...
Saturday, May 19th, 2012 by Servage

In this previous post you got an introduction to a few support web apps which can help you streamline and optimize your support processes, hence improving customer experience and satisfaction. Common for those apps was that they are all hosted web apps paid via subscriptions.
It was hard to find any real alternative in the open source world, because all available options included heavy customization and setup work, being far away from the paid software in terms of features, usability and design.
In the meantime, however, I stumbled upon an free, self-hosted piece of helpdesk software which actually seems to play in the same league as some of the paid web ...
Tuesday, May 15th, 2012 by Servage

Every day tons of mails are filling mailboxes allround companies and customers computers. We generate so much email traffic, much of which is actually uncessary or duplicate content. Notifications, reminders, autoresponders, status updates, plus all the junk...
However, there is also qualioty content in emails. A lot of serious communication takes place via email. Sales, support, collaboration, questions, answers. It's actually an incredible amount of information and knowledge which is stored in various emails around the globe, hidden away in mostly private mailboxes.
GrexIt tries to turn those terrabytes of content into a useful resource. Why spend time creating and maintaining FAQs, knowledge-bases, support+forums etc with questions and answers already taken care ...
Saturday, May 12th, 2012 by Servage

Gaining knowledge about the visitors of your website and feedback from them is key to proper targeting and making your content relevant to customers. UserReport is a convenient tool which helps you do that, so you can get the necessary information quickly and in a useful format, for a quick review of your visitors. The main features include:
Online Survey. Create online surveys with your own questions, colors and logo.
Feedback Forum. Get website feedback and ideas from your visitors - let users vote on and discuss ideas.
Social Click Map. Who clicks where on your website? Click tracking and heat maps with demographic information.
Customization. Customize survey and feedback forum with the colors ...
Friday, May 11th, 2012 by Servage

Stylesheets are powerful to customize the looks of your website. You probably now that it is the defacto standard for web development layout and design today. However, many developers forget about the advanced possibilites available with CSS.
CSS is much more than font-sizees, borders and background-colors.
Check out the following snippets for inspiration. They are all related to image-handling on websites.
CSS Snippets
Image Map
Image Preloader
Image Replacement for Submit Buttons
Link Thumbnail
Tutorial
If you are not so familiar with CSS then check out this splending tutorial from W3. CSS is described by Wikipedia as: "Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation semantics (the look ...
Wednesday, May 9th, 2012 by Servage

We previously talked about Dropbox a few times, and you are probably familir with it, or even a daily user. The power of dropbox comes not only with the cloud storage, but much more with the synchronization possibilities accross the various platforms. However, even though Dropbox is good for syncing, it doesn't give you any tools for editing. This might even be a good thing, because then they can concentrate on their product, and let others develop editors. There are some big online editors available, but also some smaller ones.
TextDrop is a great example of such a little lightweight app, which only has one purpose: Making it easy for you ...
Recent comments