Journal

Differences Between Several Universal Printer Solu

Types of Universal Printer Drivers

The term Universal Printer Driver does not mean that all the drivers are universal in the sense that they use the same techniques. The term Universal means that the driver can be used for almost every printing device. When comparing the different printing solutions three types of printer drivers can be distinguished.

1)     Universal Printer Driver based on a normal basic printer driver

This was the first printer driver available as a Universal Printer solution. This type of universal printer driver uses a normal standard driver. Often the drivers used are HP drivers like the HP Laserjet 4/5 for black/white printing and the HP Laserjet 4500 for color printing. The printer job is handled and transferred like all common printer drivers.

This is not actually a universal printer driver, but just a replacement driver that will be assigned to other printing devices. This type of driver is, as mentioned, the first type of universal driver and is reaching its end of life.

Citrix used this kind of universal printer driver in former versions of Metaframe/Presentation server (till version 4) and a few full SBC products still use this kind of driver. The Microsoft Fallback driver is also based on this type of universal printer driver.

The advantages of this kind of driver are that it is usually available in the product you have already bought, so no additional investment is needed, and it is easy to maintain.

Because the driver is actually a driver from one of the manufacturers, it does not support all printing devices and has limitations with the tray support and duplex sessions.

2)     Universal Printer Driver based on the EMF format

EMF is the Windows format for rendering the print job. The EMF file is normally created by the printer driver and sent to the Windows spooler.

Using the EMF driver the print job will be transferred into the Windows printer format by the printing product to the client. On the client the printer product client receives the EMF file and sends it to the client spooler.

Because EMF is only available within the Windows platform it can only be used by Windows based clients. Also EMF files are usually bigger than PDF based files.

EMF files are rendered for the printing device on the client, so the server has less work. On EMF the job keeps its original quality.

Examples of producta that use EMF are Citrix Presentation Server 4, Thinprint and Tricerat (Tricerat uses its own format based on EMF).

3)     Universal Printer Driver based on the PDF format

The last common universal driver is based on Adobe’s PDF format.

Using this technique the printing solution renders the EMF file created by the local print spooler into a PDF or sometimes a PCL file. This file is sent to the client where the printing solution client renders the file into the EMF format so the spooler can send the job to the printing device.

The PDF/PCL format is available on most systems, so you do not need to have a Windows based client for this universal printer driver. Also the file is usually smaller than an EMF file so less bandwidth will be used.

Using a PDF solution the job is rendered on the server instead of the client. Also PDF compression affects the print quality. Printing features also depend on the PDF driver being used, while EMF depends on the features available in the client printer driver.

Uniprint and Net2Printer both use the PDF format.

The Provision Network printing product, Print-IT, supports both the PDF and the EMF format.

Citrix Printing solution against third party products

As described above, Citrix was using an alternative printer driver as a Universal Printer driver. Because this did not solve all problems, several third party products were introduced on the market. With Presentation Server 4 Citrix introduced their real Universal Driver solution using the EMF format. The main question during the introduction was if there were still situations were you needed an additional printing product. The printer product manufacturers quickly released white papers where they compared their product with the Citrix implementation and mentioned the advantages of their products.

Some examples are Uniprint and Tricerat.

In the article Can Third Party Software Solve Terminal Server Printing Problems I had described situations where a third party product should be used, so I will not go into those details now.

Considerations choosing a product

In most comparisons and also in the section above, I explained the difference between how EMF and PDF drivers work and the method of how auto created client printers are used. If your clients are in the same LAN, it (in my experience) is not always necessary to send the job first to the client because the client only has server print queues defined. In this case the print job would travel twice around the network. Most network printer products have a built-in feature or an optional module whereby the server side of the product sends the job directly to the print server in your infrastructure. This way you do not need a client for the product to be installed on your client machines.

On the other hand, you could have a central data centre where the server resides and your clients are located on several sites connected using a WAN. In this situation, compression and bandwidth control are important factors. Probably a PDF based product has benefits, although all products have compression and bandwidth control options. In this situation you should think about your print server functionality. All products deliver the print job to a spooler component that sends the job to the print device. This part of the total print process is not covered by any product so it travels uncompressed and uncontrolled over your network. In this kind of WAN situation this print component should preferably be located on the client side. Therefore, several products deliver a kind of print gateway.

All the products have their special features and solutions. It is a pretty tough market where the several manufacturers compare their products in white papers regularly. I have included a list of comparison documents at the end of the article.

Conclusion

This article was an introduction into the world of Universal Printing solutions. Three types of universal printer drivers are currently available:

  • Using a default normal driver
  • EMF based technology
  • PDF based technology

Nowadays EMF and PDF based solutions are the standard (certainly now that Citrix has an EMF based solution). Both techniques have their advantages and disadvantages. Depending on your infrastructure you should choose the driver which has the most benefits.

If you are considering a product use this article and the comparison charts mentioned to perform your preliminary analysis. You should then download a few products and test them thoroughly in order to make your final decision.

Comparison White Papers:

Uniprint Overall Comparison (Uniprint, ThinPrint, Tricerat and Citrix PS4)

Tricerat versus Thinprint

Tricerat versus Uniprint

Performance Analysis of Universal Printing Solutions by Citrix Consultancy

Posted by Kalrav Shah on 11. maj 2007 at 02:15 Comments (0)
Presentation Server 4.5 Preview

Introduction

At iForum Citrix announced Project Ohio – Presentation Server 4.5 and released a Technical Preview that is widely available on MyCitrix. Generally this would lead to writing an article about the new technical features and what to expect from the new release. In this case though one of the major changes it the migration of features from the Presentation Server Console (PSC) to the Access Management Console (AMC). This migration in itself will cause enough consternation throughout the Citrix administrator community that I thought it warranted discussion in its own article.

Quite a few features have moved from the PSC to the AMC and here we will review some of the major interface changes and additions.

WARNING: As with any beta or preview release features and appearance can be expected to change. This article is specifically aimed that the Tech Preview that is on MyCitrix at the time of writing.

Out with the old

Here we have the Presentation Server Console that we have all come to know and love. Well at least know. The familiar Java based console looks to have received a facelift but nothing scary yet.

To give a good idea of the amount of change we will be encountering let’s look at the farm properties page.

EEK! Well it looks like they were serious about the MMC based console after all. We have Zone management and election preferences still here but the rest has moved on to its new home.

The applications node looks pretty bare too. The only thing you can do to an application here is to set the Resource Manager Count metric.

Installation Manager, Policies, and Printer Management remain only in the Presentation Server Console. Creating and Customizing Rules for Isolation environments is also here but new ones can be created during application publishing in the AMC as well. This is most likely because the bulk of isolation is expected to be for streamed applications which bring their own isolation rules with them. Creation of Load Evaluators and Resource Manager Configuration remain behind in the PSC too with the exception of the assignment of metrics to servers which can be handled here or much more elegantly in the AMC.

Speaking of configuring load evaluators the default load evaluator has received its first update with the addition of the new load throttling rule. This should ease the black hole effect in organizations that experience a surge of logins.

Policies don't change much at all but the addition of the SpeedScreen Progressive Display and a policy rule relating to delivery of streamed applications deserve note.

No real changes are visible in the PSC for printer management. Print Servers can still be imported and printers assigned with Session Printer policies. Replication, Mapping and the diver firewall that is the Compatibility feature remain untouched as well along with Client Printers for the DOS holdouts.

All of the actual configuration of Resource Manager is performed in the PSC including the Summary Database, Email and Farm Metric Server settings. You can also still generate local and summary reports from the Reports tab and the Billing tab still allows those of you in cost centers to justify your existence to management.

When it comes to server level properties most settings have moved to the AMC with the exception of Resource Manager Metrics that can be setup in either location and the Reboot Schedule and per server RM Alert Recipients list. It is also worth noting that the Load Manager Monitor continues to live in the PSC and is not yet available in the AMC.

In with the new

The Access Management Console is the direct successor to the Access Suite Console available since Presentation Server 3.0. The name change for the console indicates that it is starting to reach outside the Access Suite with support for Project Tarpon application streaming. Other products may follow in the future but a common management tool for all of the Citrix application delivery and optimization mechanisms could certainly make the job a lot easier.

Blue seems to be the color of choice at Citrix right now with lots of hip and shiny icons. This should not be taken as an indicator of the mood of the team moving components between consoles but there may be some Java proponents that are singing the Blues. (Of course any German readers may just take it to mean they were intoxicated, but that would most likely be wrong too.)

Marketing and style change so we will have to chill with cool blue themes this release instead of getting steamed up over the lack of the color red.

Not sure if it will be in the final release but this Technical Preview build at least does not have an object count for discovery which could get interesting in larger farms.

Citrix Administrators are now configured in the AMC and can be configured the same as in PS4. One major change in the move to the new console is a choice of user selectors for any operation that requires specifying a user or group account.

 The Citrix User Selector is almost identical to the Java PSC one with some cosmetic changes. In this release there was no pass-through authentication of administrator credentials so they had to be provided to browse the directory. Once authenticated the Active Directory could be browsed and groups added. The best practices enforcing "Show Users" checkbox is even still present.

The Operating System User Selector is the same Windows 2003 dialog that is encountered in Active Directory Users and Computers after presenting a warning that this tool may show users that are not available to the farm or not find users that should be. This could be the case if using a large farm spanning several domains and selecting a Domain Local Group. The warning states that invalid users or groups will be removed once the selector exits but there was only one domain in the test environment so this will have to wait for a future article.

When using the wizards in the AMC the number of steps and the current position is noted in the title bar of the dialog. This number and the steps in the tree to the left can change depending on the selections in a wizard. For example when Custom is selected as a privilege type the Permissions page is dynamically added to the wizard. This behavior is also readily apparent in the application publishing wizard which we will tackle next.

Application publishing in Presentation Server 4.5 will be handled through a wizard in the AMC and several powerful options will be available as a result of this rework.

Things begin slowly with a welcome and the name of the application but on the third page we have our first encounter with new 4.5 features. The options of Published Desktop, Application or Content have been expanded to accommodate the inclusion of the Project Tarpon application streaming technology with the Enterprise edition. When selecting a published application the choice of how the application is delivered is available. Installed application and IM Packaged application were available in 4.0 but now we also have the option of selecting an application streamed to the server. There will be more on this subject in a future article.

Selecting the application for execution is almost unchanged but when we get to specifying a server there is a subtle put important addition. The Import from file button allows importing an XML server list file with an .asl extension. This list can be exported as we will see shortly from existing applications. This feature alone can make publishing applications across a large number of servers very fast indeed.

Selecting the users for the application can per performed with either of the user selectors mentioned above. At this time though there is no button to import users from file.

Gone is the Program Neighborhood Settings tab name that confused the issue of what we are setting to be replaced by a Shortcut Presentation tab that looks eerily familiar. One other nice change here is that PS 4.5 will be supporting 32bit color icons so the days of 16 color ugliness should be limited.

Once these basic screens have been completed the administrator can choose to exit the wizard or continue with advanced application settings. These include Access Control, Content Redirection, Limits, Client Options and Appearance tabs that are virtually unchanged. One item of note is that the default resolution and color depth in this release are set to 1024x768 and 24bit color. Be sure to remember this if you are under severe bandwidth constraints and use SpeedScreen Image Acceleration if appropriate to reduce the bandwidth hit.

One of the most exciting changes in relation to application publishing in 4.5 is the ability to export the application settings to a file. These settings can be everything for one or more applications in an .app file or can just be the server list or user list in an .asl or .aul file respectively. These files are all XML formatted and I am sure that we will see community members writing some very handy scripts around them.

Once we get down to the server level the existing options to view sessions, connected users and other views are the same but we can now also change server properties here. These properties are almost identical to the ones in the 4.0 PSC but are laid out in a tree that allows easier configuration of specific areas. The option to use farm settings for an option is still the default and decoupling a server setting by deselecting this box should be documented like in earlier versions. Also of note is the addition of a Health Monitoring & Recovery item that I will be covering in a future article.

Other operations that are new to this section of the AMC include assigning a load balancer, removing a server from the farm, updating file types from the registry, connecting to the server desktop, and set server edition. These all behave in the same manner as in PS 4 but there are also a few new items. Publish application on this server starts the same application publishing wizard seen above except that it pre-populates the server that is selected in the tree pane during the operation. Stop alerts allows the server to be put into a Resource Manager snooze or sleep state to avoid alerting during software installs and the like. Set monitoring opens a dialog to assign a monitoring profile to this server which we will talk more about later.

Farm Settings have been broken down into three broad categories, two of which (Farm-wide and Server Default) contain the farm properties previously available in the PSC and Offline Access that contains settings for taking streamed applications offline.

It is important to keep in mind this logical separation between farm-wide and server default settings. While some settings that were previously side-by-side are now on different pages the new categories allow easy determination of whether a setting can be overridden on a per server basis. Farm wide settings affect the entire farm and may be overridden by policies while server default settings represent all the settings that are inherited from the farm level and can be overridden on a per server basis.

Farm-wide settings include many familiar items with the addition of panels for the configuration of Health Monitoring & Recovery, Citrix Streaming Server and Configuration Logging features.

Server Default settings at the farm level also are mostly familiar with the addition of an HM&R item.

Offline Access settings affect which users are allowed to take streamed applications offline and how long they can use them offline without renewing their license.

The Monitoring Configuration item in the AMC tree is also new and allows viewing active and available alerts within a single farm under the Farm Monitoring item. Server Monitoring is the second location that allows the configuration of Resource Manager Metrics. It does this in the form of Monitoring Profiles that can be used to quickly apply a consistent set of metrics across a group of servers.

Summary

Overall the move to the new Access Management Console is well underway and there is the promise of easier administration on the horizon with the release of Presentation Server 4.5. Of course it will be interesting to see changes between this Technical Preview and the final release but the chance of any radical shifts is relatively small. Of course I’m sure we will hear much wailing and gnashing of teeth as we administrators are forced to adopt a new tool and have to re-learn the most efficient ways to manage the environment. This is at least somewhat counterbalanced by the import/export capabilities and the opportunities they will enable, but only time will tell.

Posted by Kalrav Shah on 11. maj 2007 at 02:15 Comments (2)
Product Review: UniPrint Server 6.0

In this review we’ll be looking at UniPrint 6.0, Ingenica’s latest version of their Universal Printing Solution for Windows Terminal Services and Citrix. Ingenica is a division of Bell Business Solutions, Inc., a subsidiary of Bell Canada.

 

Product: UniPrint Server 6.0

Product Homepage: www.uniprint.net

Evaluation Version: click here

Test Environment:

  • Client – Windows XP Pro SP2, Citrix ICA Client 9.230, Microsoft Remote Desktop Client 6.0, UniPrint Client 3.62
  • Terminal Server – Windows Server 2003 SP1, Citrix Presentation Server 4.0, UniPrint Server 6.0
  • Domain Controller – Windows Server 2003 SP1, Citrix Web Interface 4.5

Introduction

Anyone who’s ever managed a terminal server or Citrix environment knows that printing is challenging. Users’ requirements are simple, they want to be able to print to any printer, from any application, over any network connection from any type of client. As an administrator of a server based computing environment, we know this is easier said than done. 

The following is a list of challenges encountered in an environment without a 3rd party printing solution, such as UniPrint:

  • Printer drivers between client and terminal server must match
  • Printer drivers not written for use on terminal server cause spooler and server instability
  • Print jobs use more WAN bandwidth than is available
  • Applications require a static printer name
  • Users are confused by printer naming convention
  • Printing to PDF requires a 3rd party PDF Writer compatible with terminal server
  • Host based printers are not supported, i.e. HP Printers utilizing LIDIL Printing Language
  • Economy printers don’t provide an installer that works on terminal server
  • Client printer autocreation takes time, server resources and has inconsistent results

What does UniPrint do to address these challenges:

  • Installs a single PDF based printer driver
  • Allows administrators to remove “all” other printer drivers from terminal servers
  • Does not autocreate printers
  • Uses a single local printer instance named “UniPrint”
  • Allows printing to any client printer
  • Seamlessly transfers PDF printing output from the terminal server to the client, instead of PCL or PS data, greatly reducing printing traffic.

Components:

UniPrint 6.0 consists of server and client components. The UniPrint Server is installed on each terminal server, whereas the UniPrint client is installed on each client computer.

Server Installation

Before installing the UniPrint Server on your Windows Terminal Server or Citrix Presentation Server it’s recommended (by Ingenica) to do the following:

  1. Remove all other printer drivers installed on the target terminal server. I accomplished this via the driver’s tab of the terminal server’s printer server. The following picture shows only the UniPrint Printer Driver, as I removed the Citrix Universal Printer Drivers and my PDF Writer before the UniPrint Server Install.

  1. Disable printer autocreation done by Windows Terminal Server or Citrix. Since one can connect to a Citrix Server via ICA or RDP, I disabled client printers via both the Citrix “ICA-tcp” and Microsoft “RDP-tcp” connections in the Terminal Services Configuration. This could also be accomplished via Group Policy or Citrix Policy.

The server install is MSI based, so it can be installed via your automated deployment mechanism of choice, i.e. Group Policy, or manually. In this review, I installed UniPrint manually. 

The first choice I encountered during the install was which group of users to allow to use UniPrint. By default the “Everyone” group is assigned “Print” permission to the UniPrint printer, however this could be altered if, for example, certain groups of users should not be able to print.

The next option allows the Default Paper Size Selection, i.e. Letter, A4, Legal…. and whether UniPrint should be the Default Printer.

The final allows a server to be configured as a Pass-through Client, enabling printing from Citrix or Terminal Server Applications, running inside of another terminal server session, for example connecting to applications via Program Neighborhood Agent from a Citrix Published Desktop. In UniPrint Server 5.x this required a separate installation package to enable this functionality. I left this option disabled, as I was only working with one Citrix Server.

Client Installation

There are several client types, i.e. Full UniPrint Client for Windows, Mac Client, and Web Client. In this review I used the Full UniPrint Client for Windows because it has the most features and does not require Acrobat Reader to be installed on the client machine.

The client installation package is available in EXE and MSI packages, however the MSI is recommended as it can be push-installed via Group Policy or other automated deployment method, and can also be automatically updated by the UniPrint Server.

The only installation choice is which clients to enable for use with UniPrint. In my case I wanted to test with both the Microsoft RDP Client, Citrix Program Neighborhood Client and Citrix Web Client. The installer automatically detected which ones I had installed.

Management

I chose to publish the UniPrint Management Console for easy access.

The UPMC (UniPrint Management Console) allows administrators to centrally manage UniPrint 6.0. Out of the box there is nothing that needs to be configured for UniPrint to function, however there a numerous options worth investigating for one’s specific environment.

The UPMC allows central management of:

Performance and Maintenance

Driver Properties

  • Page Setup
  • Print Resolution
  • Font Embedding
  • Compression Algorithm
  • Spooling Options
  • Enabling automatic emailing of all print jobs
  • Enabling saving of print jobs to user’s My Documents or a Global File Share

Policy Management

  • Whether Policies are processed or configuration is determined solely by the UPMC Settings
  • Enabling or Disabling of User or Machine Policies
  • Setting the order in which policies are applied

Network Connections

Auto Client Update

  • Enabling/Disabling Automatic Client Updates
  • Adding/Removing Client Update Packages
  • Selecting Client Update Location

Session Options

  • Transfer Protocol – Auto Detect, ICA Virtual Channel, RDP, or Drive Mapping (Drive Mapping only works on Windows Server 2003 or 2000/2003 with Citrix installed)
  • Whether or not UniPrint is the Default Printer
  • If Pass-through is enabled for ICA or RDP
  • Deletion of leftover print jobs when users reconnect to a disconnected session, i.e. print jobs would be transferred to the client and removed from the server-side spool directory
  • Membership to the UniPrint Printer, i.e. who can print

Tools and Utilities

  • Debugging Options

Group Policy Management

  • A Group Policy Administrative Template (UniPrintServer600.adm) is provided with UniPrint Server 6.0, and can be found in “\Program Files\UniPrint\Common Files”.  For those that have permission to manage Group Policies in Active Directory, this would be the preferred method to manage UniPrint Server settings. The administrative template allows for configuration of Print Setup, Fonts and Images and Session Options.

Usability

From an end user perspective, UniPrint works a bit differently than typical Terminal Server or Citrix printing. When a client with the UniPrint Client installed on their computer logs on to a Windows Terminal Server or Citrix Server, the UniPrint Client will automatically load in the client’s notification area.

When the end user prints from an application they will notice that they have only one printer in their session, called “UniPrint”. When users print to the UniPrint Printer, UniPrint renders and spools a PDF of the print job in the system defined Printer Spooler Directory, i.e. “\WINDOWS\system32\spool\PRINTERS\UniPrint\UserName\SessionID”. This allows for the case where a user were to log on to the same terminal server from more than one client with the same credentials, and ensures that the print job gets to the correct client.

From there the file is sent to the UniPrint Client via Citrix Virtual Channel, RDP or Drive Mapping, based on the settings defined in the UPMC and the type of client connectivity.

When the print job arrives at the client machine, it is displayed in the UniPrint Client (shown below), where the user can print to any printer accessible to them. This allows the user to take advantage of all of the printer's features, as they are now printing using their local printer driver.

In addition to being able to print this PDF file, the end user also has the options to Email or Save the PDF using the UniPrint Client. For those that don’t want to deal with two step printing, the UniPrint Client has a “No Preview” (shown below) setting that sends the print job directly to the Client Default Printer.

The UniPrint Client Advanced Tab offers the ability to enable and disable features such as Bandwidth Throttling, Unicode Printing (i.e. for printing Asian characters), or to turn on Debugging (at the request of an administrator).

Notes of Interest

In addition to the functionality described in this review, UniPrint has three add-on modules for UniPrint Server .

  • Gateway Module – Allows for printing to network printers without loading printer drivers on terminal servers or clients. This works by printing to a “UniPrint Spool Server”  which forwards print jobs to the appropriate “UniPrint Printer Server”, which prints to the Network Printer. HP and Lexmark Printers that support direct PDF Printing do not require the “UniPrint Printer Server”
  • Web Module – Allows for posting print jobs to a Intranet webpage where users can easily share print jobs with groups of users. This uses an On Demand Java Client which is deployed via Citrix Nfuse or Citrix Web Interface and the Citrix Java Client. This option is great for companies trying to work in a paperless office.
  • Host Module – Allows for printing from Linux or Unix applications running on Citrix Presentation Server.
  • *** Each of these three add-on modules are not yet available for UniPrint Server 6.0.  They exist in the UniPrint Server 5.x product line, are currently being developed for version 6, and are expected to be released in Q1 2007.***

Gateway version 6 will be released at the end of Q2 2007 (Beta end of Q1) then the Web and Host in Q4 2007.

But other products (UniPrint for Desktop Edition (Q1), Agent (Q3), …) will be released during the year 2007.

Conclusion

I found UniPrint Server 6.0 to be an excellent solution to ease printing problems in a Windows Terminal Server or Citrix Presentation Server environment. UniPrint Server 6.0 offers the UniPrint Management Console, UniPrint Group Policy Administrative Template and a single PDF Based Printer Driver to simplify the administration of Windows Terminal Server and Citrix Printing and reduce printing bandwidth requirements. The UniPrint Client is feature rich and easy to use, allowing end users to print to any printer defined on their workstation, or to use the built-in PDF Writer functionality to save or email any of the documents in PDF Format. For enterprise customers with complex environments, the Gateway, Web and Host Modules can be added to UniPrint Server allowing for an enterprise wide printing solution based on a single printer driver.

On a scale of 1 to 5 (5 being the best) I’d assign UniPrint Server 6.0 a score of 4.5.

Posted by Kalrav Shah on 11. maj 2007 at 02:14 Comments (1)
SurfControl Web Filter Readers Choice Award Winner
SurfControl Web Filter was selected the winner in the Content Security category of the ISAserver.org Readers’ Choice awards. GFI WebMonitor and Akonix L7 Enterprise were runner-up and second runner-up respectively.

Winner in Content Security Category of Readers’ Choice Awards: SurfControl Web Filter

December 26, 2006 – SurfControl Web Filter was selected the winner in the Content Security category of the ISAserver.org Readers’ Choice awards. GFI WebMonitor and Akonix L7 Enterprise were runner-up and second runner-up respectively.


SurfControl Web Filter

1st SurfControl Web Filter 28%
2nd GFI WebMonitor 21%
3rd Akonix L7 Enterprise 10%
4th McAfee SecurityShield 8%
5th Avast! Net.purum 5%
6th Proventia Web Filter 2%
7th Forum XWall 1%
Other 25%

*InterScan WebProtect for ISA
  Panda ISASecure

“Our Reader’s Choice Awards give visitors to our site the opportunity to vote for the products they view as the very best in their respective category,” said Sean Buttigieg, ISAserver.org manager. “ISAserver.org visitors are specialists in their field who encounter various solutions for ISA Server at the workplace. The award serves as a mark of excellence, providing the ultimate recognition from peers within the industry.”

Posted by Kalrav Shah on 3. maj 2007 at 07:13

View Journal and Archive

Powered by Kaanosh Journal version 1.0
Copyright ©Kaanosh