Software
Using Radial Blur
by admin on Feb.14, 2010, under Software
Center the art, not the blur…
The one thing neglected in many of those tutorials is the fact that many Photoshop effects default to the center of the image window. There’s nothing you can do about it. So, naturally they use a centered subject photo so their (easy) tutorial works perfectly every time.
So, what we’ve got to do is bring the art to the effect, rather than bringing the effect to the art.
The first thing you’ve got to do is increase the Canvas size so you can move your photo around… follow along:
First, make a copy of the art or photo. I usually just select all (cmd/A) and then “float” a copy (cmd/J). This puts a copy of the art on a new layer.
I know I’ll need the original later.
Use the Crop Tool and drag the handles well beyond the edges of your image. When you commit that crop (just double-click inside the cropped area) your canvas will immediately expand to accommodate.
Since the Radial Blur uses the edges of the image to find center, we’ll place our subject at the center of the newly sized canvas.
My method of finding center is the old-time photo cropping method of simply drawing an “X” through the art. Where the two lines cross will be the center. So on a new layer I grab the line tool and simply draw from corners to corners.
Now, using the Move tool (Tap “V”) I move the part of my subject I want centered to where the lines cross. The young lady’s face is what I want to concentrate on.
Now set the Radial BlurFilters > Blur > Radial Blurand select “Zoom” or what ever effect you like.
With your blur finished, we’ll return to that original we saved earlier and paint back in some sharp detail.
Note here that I’ve moved the original up under the blurred versionNow click on the “Layer Mask” icon at the bottom of the Layers Palette, and then click on the mask thumbnail. (Note that the thumbnail gets a double border, indicating it’s the active object.)
Using a very soft-edged brush, set to about 80% opacity, I’ll begin with the face and paint black into the mask. As I paint, I can see the detail coming back into my photo.
Paint just the parts you want revealed. Here, I painted all the face and torso, then did some sketchy paint out into part of the legs and arms.
SIDEBAR: Folks, you don’t have to use the mask — you could simply use the eraser tool and remove pixels to reveal the sharp image below. I use a mask because it’s “non destructive” and if I goof up, I can always paint back in with white, or start again.
5 Reasons to Choose Photoshop Elements
by admin on Feb.09, 2010, under Software
5 Reasons to Choose Photoshop Elements
If you seriously want to create digital photos that wow others, you’re likely to look for image editing software. Adobe has a family of Photoshop software that helps users take their digital photos from ordinary to amazing. With the choices available, it can be hard to decide which one is right for you.
RECOMMENDED: Cut your learning curve with Learn Elements Now
Adobe Photoshop Elements is the member of the Photoshop family, which was made for non-professional consumers who want to get professional-looking results without professional-level skills or the high ticket price. Here are 5 reasons you should choose Photoshop Elements:
1. Powerful editing features
Anybody who has taken digital pictures needs to remove the occasional red eye. Photoshop Elements helps you do this with ease. But there’s a lot more you can do with Adobe Photoshop, things you probably never imagined you could do in your home computer or laptop. These include changing skin tones, erasing unwanted bystanders on travel pictures, combining the best of two photos to make the perfect one, and many more.
The best part is, it only takes a couple of minutes to achieve these effects. Photoshop Elements has a highly intuitive interface – you could figure things out yourself or take advantage of the software’s photo editing assistance.
2. Add text, graphics and decorative edges
Transform your pictures into more effective communication pieces. Add text, shapes and other graphics and even decorative borders and edges. It’s like scrap booking on your computer – but much easier, faster and mess-free.
3. Turn your images into physical products
Share your photos through physical products you’ll be proud to give away to friends and family, or as marketing pieces for your small business. You can make scrapbooks, photo books, greeting cards, CD/DVD labels, calendars and albums. You can print paper-based photo products with your own color printer, or use whatever printing services are available in your area.
4. Share your photos online
With the optional membership in Photoshop.com Plus, you can share your best photos online. Photoshop Elements provides templates – some have animation, some allow dynamic interaction. Using these templates, you can have an interactive online album in mere minutes.
5. Organize photos
Photoshop Elements enables one-click transferring of photos into your computer. Photos are automatically organized by date and time, as well as tagging with any keywords of your choice. This allows you to sort and find photos quickly. The optional membership in Photoshop.com Plus also comes with automatic online backup of up to 1,500 photos.
There’s no doubt Photoshop Elements makes digital photography fun and rewarding. Photoshop Elements makes a lot of tasks – from editing photos to transforming them into digital and physical products, to organizing and storing photos – fast and easy. It’s a good choice for the consumer who doesn’t want to spend hours learning a complicated image editing software like Adobe Photoshop CS4.
Even though Photoshop Elements is easier to use than professional level software, it nevertheless has a learning curve. Learn Elements Now can help you get up and running with Photoshop Elements even faster. Learn Elements Now is a set of video tutorials which demonstrate, step-by-step, the tasks you’ll most commonly be doing. Click here to find out more about Learn Elements Now.
Top Five Mistakes To Avoid When Choosing ERP Software
by admin on Jul.20, 2009, under Software
1. Not Knowing What You Really Need in ERP Software
Before diving right into choosing a solution, take the time to understand what you really need. To begin with, determine whether you need fully integrated ERP software or best-of-breed software. This will often depend on the issues you are trying to solve or the opportunities you are trying to capture, as well as the size and structure of your company. For example, if you’re a small to mid-sized company with limited budget and limited resources, then you’ll probably want to consider a fully integrated ERP software system. This type of system will allow you to streamline your processes and achieve improved productivity at a lower cost and with fewer resources.
Take into consideration that, in order to efficiently implement and use best-of-breed solutions, you will need extensive knowledge of both the business rules and the database constructs within each application of your business processes. This is due to the fact that all of your individual systems need to run in unison in order for your data to be consistent and accurate throughout your operations. If you’re not prepared to deal with the sometimes overwhelming task of creating your own interface between disparate systems, then fully integrated ERP software is your better choice.
Unless your needs are very narrow, expect to experience a significantly lower total cost of ownership (TCO) with fully integrated ERP software in comparison to best-of-breed solutions. Using separate best-of-breed solutions can often drastically increase your overall license and implementation costs, not to mention reduce overall operating efficiencies. With a best-of-breed solution, you may not be protected from version obsolescence, which can result in additional investment later on. Additionally, support of your operations can be hindered as you manage problems across multiple vendors.
The best fit for many small to mid-sized companies is often fully integrated ERP software. However, the solution needs to fit most, if not all, of your key business requirements – no small task for a single application. To overcome this obstacle, choose a partner with industry specialization who can help to ensure that your most critical business requirements are met.
2. Not Recognizing the Uniqueness of Your Business
Every industry is unique. Lack of industry specialized capabilities within your software is a common cause of failure for an ERP software implementation. Often “horizontal” solutions that serve many different industries need to be significantly customized in order to fit your business model and to integrate with your other internal systems. Take caution that while initial license and maintenance fees can sometimes appear lower, these generic solutions can often result in increased costs due to extensive customization requirements, upgrades, ongoing maintenance, and longer system deployment timeframes; reducing and delaying your overall return on investment.
Avoid choosing software that limits your capabilities and your company’s growth. Your software should enhance your business, not hinder it. The software you choose should have the specialized capabilities necessary to address all of the business requirements of your company and your industry, not just some of them. For an industry tailored solution, find a provider who offers specialized software for your industry and therefore will be able to provide the most beneficial solution for your business needs. Your solution should be specifically tailored for your business and industry and your provider should know your industry as well as you do; enabling them to make recommendations. By choosing an ERP software solution that is specialized for your industry, you will be able to get a specific targeted solution to meet your unique business needs. The right solution will deliver improved efficiencies, reduced costs, enhanced revenues and profitability, and faster ROI.
3. Not Choosing the Most Qualified ERP Software Vendor
When shopping for ERP software, choosing the right vendor can make the difference between a successful implementation and ending up with one that falls short on satisfying your business needs. One of the most common mistakes in vendor selection is choosing an ERP software vendor who doesn’t know your business. Decision makers are often under the misconception that choosing software by a “big name” provider will equal a big return on investment (ROI). However, most big name providers are often too big to offer specialized industry knowledge for any specific industry. Avoid putting yourself in a situation where you have to teach your ERP software partner your business. Choosing a partner who already has an in-depth understanding of your industry will help you achieve more rapid deployment, be more cost effective, and be more efficient with the use of your ERP software solution. In many cases, resellers will have to learn your business and then retrofit a customized solution to meet your specific needs, which ultimately costs you more money. Find a partner who is using best practices, not just generic business process flows, in your industry.
Avoid vendors who are not in sync with where your industry is going. Instead, look for a partner who both knows your industry and knows where your industry’s future is headed. Your vendor should be very knowledgeable with new industry standards and incorporate related processes into their standard ERP software solution to handle these requirements, such as RFID. This will save you money by eliminating the need to customize your solution to fit standardized industry requirements. Additionally, the vendor you choose for your ERP software should ensure that solution licenses are all encompassing for any unique and necessary modules, such as EDI, RFID, and chargeback management.
Plan on having a long-term relationship with your ERP software partner. Be leery of vendors who want to implement your system and run; you want the vendor to grow with you so you can continue to grow your business. Responsive product support, ongoing product releases, and user forums such as on-line bulletin boards and user conferences are all essential business tools and services that your vendor should offer if they are looking to build lasting relationships.
4. Not Giving ERP Software Implementation the Attention It Needs
A common problem during ERP software implementation is the lack of a committed Project Manager on the customer’s part. The majority of successful implementations occur when the customer’s Project Manager dedicates 80-90% of their time to the implementation project. The role of the Project Manager is to streamline the process and keep things in check. When you’re investing your money and time into implementing a system that will enhance the performance of your business, isn’t it worth dedicating someone to making sure it’s done right?
Lack of commitment and support from the top is another area where companies fall short. The President or other top executive of the company should be involved. This does not by any means refer to them leading the day-to-day activities of the project, that’s what the dedicated Project Manager is for, but more so to their being involved in status meetings. A solid commitment from the top will flow through the organization to make implementation of your new ERP software a success.
Not documenting your business process flows when implementation is complete is another common ERP software mistake. The most successful transition can be achieved when there is written documentation for each department. This enables the company to continue to conduct business at its maximum potential during transition and learning. And, in the event that an employee leaves or changes positions within the company, the next person stepping into the position can learn the job more quickly and do the job more efficiently if there’s documentation at hand that serves as instant training.
Don’t assume that your employees’ training needs have been met by combining the implementation with the initial training provided by the vendor. This is another common misconception that can lead to failure of your new ERP software solution. It is imperative that employees continue to receive training after the software has been implemented, even with documentation that helps support employee training. Once the new system is live, users should have continued follow up training, whether it be every 4, 6, or even 8 months. This will enable your company to identify any implementation areas that may not have been needed at the time of deployment, but which have become necessary later on.
Proper and thorough testing is another common oversight when implementing ERP software. It is necessary to perform “a day in the life” test where users from each department of your organization do their job using real data. Walking through the complete process with a pseudo-real order while still in testing will allow you and your users to identify any errors or misunderstanding in the process flows before live deployment. In many cases, problems will be discovered during this testing process that may require some minor modifications before going live. In order to minimize errors after deployment and maximize the potential of your new ERP software, it is crucial to test all of your data, procedures and processes before launch.
5. Not Investing in ERP Software for the Long-Term
When choosing ERP software, be realistic about your expectations and perceptions of cost – you’re making an investment to improve or enhance your business. So, while hard dollars spent are important, the key is choosing the right ERP software and the right partner who will provide you with a fast and effective implementation, high ROI, and low TCO after implementation. While human nature tends to lead us down the path to the bargain deal – we often do this at home, not just at work – with ERP software, what appears to be the lowest cost solution often results in the greatest long term cost. When securing proposals, if you find a vendor’s quote to be far below that of other vendors you are considering, chances are the deal is too good to be true.
Use your intuition and good business judgment when comparing provider costs. Look for applications that support your ability to achieve your company’s primary strategic goals. Work within your budget, but make sure you know what you’re getting up front and anticipate with your provider when you can expect to start seeing a return on your investment. Hasty decisions in favor of the lowest cost ERP software provider or solution may leave you plagued later with hidden costs, and delay or eliminate any ROI for your business.
LeaderTask – Alternative to Outlook!
by admin on Jul.20, 2009, under Software
LeaderTask – Alternative to Outlook!
I once asked a friend of mine what is the best organizer? He said, “Microsoft Outlook, of course”. Then he thought a bit and added, “The most popular one, anyway.” But popularity is not the key issue for me. And since I have to write down (or keep in mind) a lot in my work, I decided to take it more seriously. I have studied a lot organizers and schedulers. LeaderTask from the Almeza company has turned out to be the most appropriate and convenient one for me. I will not compare it with all organizers, but only with the most popular one – Microsoft Outlook. No doubt Microsoft Outlook is a high-quality software product, but LeaderTask outdoes it in some things. Though Outlook is better in some other things. I will enumerate all these parameters in this article. So…
LeaderTask advantages.
1. Separate object groups.
There are different types of objects defined in LeaderTask. These include: projects, tasks, notes.
Projects in LeaderTask mean those things that have time limits. Something specific results from a project being completed.
A task in LeaderTask is the description of what should be done in order to complete a project (project steps).
Notes are chaotic records that can be assigned to projects and separate tasks (they may also deal with a contact/category/time, etc.). Notes serve as a convenient tool for taking down separate thoughts that can be useful for completing a project or a task.
A project may contain several tasks. For example, the “Writing an article” project may include the following: “Studying materials”, “Writing a draft”, “Sending it to the editor”, “Correcting the article”. The result of the project is an article. That is, something large is split into smaller parts, which is very convenient to use.
Besides, every project has the following properties: a name, a group (logical, the one the project belongs to), a contact (the list of project participants), a time period (the time the project will be completed within), notes (comments to the project). You can filter tasks by these properties (single out tasks from the list of tasks). I will dwell on filtering a bit later.
Each task can contain subtasks. For example, the “Studying materials” task may include the following subtasks: “Visit the library”, “View information on the website”, “View advertising materials”. Any task has parameters (tags) that can be also used for filtering. These include: “Projects”, “Contacts”, “Categories”, “Calendar”.
Outlook has nothing like this – no different types of objects are defined in it. There are no separate projects, tasks, notes – there are only equal tasks. It means that notes (occasional thoughts) will be in one list, which will make searching for a particular note afterwards more difficult. It is completely unacceptable for a person who values time.
2. Tree-like tasks.
Tasks in LeaderTask are arranged in the form of a tree, which is achieved due to the task hierarchy (splitting tasks into subtasks). It allows you to classify tasks, combine them into one project (or into a task of a higher level). This way you get tasks that are not scatterred, but strictly structured. The tree-like structure allows you to see the heirarchy and understand what tasks belong to what at any time. It reminds the tree of folders and files in the operating system. It is much more convenient to keep tasks this way (since you are quite used to it). Besides, these hierarchies can have as much levels as you need.
The tree-like structure allows you to:
See all tasks at once;
Sort tasks. You can sort tasks by any property (important/unimportant, personal/business, etc.);
Group tasks. You can group tasks by criteria (either by one or by several criteria at once). Criteria include: project, time, category, contact;
Use the “Periodic Task” option allowing you to complete tasks that may occur at certain intervals;
Customize the settings. It is possible to customize the task tree the way that suits you best;
Hide completed tasks. You can show (or hide) completed tasks at any time. Which is also very convenient and allows you not to pay attention to tasks that are already completed.
Tasks are not arranged as a tree in Outlook. It has one level only. All tasks are arranged in one list, there is no embedment, which makes it sometimes difficult to make out what a particular tasks belongs to. It is as if all files on the computer were located in one huge folder. It is very inconvenient.
3. Flexible interface customization.
It is possible to flexibly customize interface in LeaderTask (as in many modern programs). Any user can customize tasks to be displayed in the way he finds convenient. The following items can be used to achieve it.
Floating panels. All panels in LeaderTask are floating – they can be dragged to any part of the main window. The user can set the panel size, set its position and type, specify how many panels should be displayed at a time. Besides, every panel has thee buttons in the right corner of its title bar. They allow you to maximize the panel (inside the main window of the program), activate popup mode for the panel (the panel will slide out when you move the mouse pointer over it), close the panel.
Highlighting. Every user can highlight task tabs in a particular color in order to see better in the task tree. Highligting is a perfect tool for marking the most important tasks, urgent tasks or tasks you must not postpone or forget about. An important task that is not highlighted may get lost among other tasks. LeaderTask allows you to avoid it. It seems as if nothing special, but highlighting in different colors is a very useful tool for planning your tasks right.
Skins. LeaderTask supports all kinds of skins, among which any user will be able to choose the one that suits him best.
Fonts. LeaderTask supports all kinds of fonts. You can use it to highlight various tasks in the list as well.
It is possible to partially customize the interface in Outlook (but it is no so easy to do it). In particular, panels are static in Outlook (they are not floating) and it is also impossible to highlight particular tasks in different colors in Outlook.
4. Structuring tasks.
That’s where LeaderTask is completely incomparable – it offers extremely wide features for structuring tasks. First of all, it is structuring tasks by projects and subtasks (what I mentioned above). Besides, it is possible to structure tasks by categories, by deadlines, by priority, by contacts.
The most important thing in LeasderTask is structuring tasks by priority. Priorities are arranged into a library of priorities that you can cusotmize so that it meets your needs. Tasks structured by priorities allow you to single out the most important tasks among all other tasks and complete them first.
Tasks are not structured in Outlook. All tasks are displayed in one list where it is reall difficult to make anything out.
5. Clear view.
One of the main advantages in LeaderTask is a clear view of tasks (particularly on the “Today” panel). Along with the task tree and highlighting, it is achieved by the following:
Tabs. Multiple tasks are grouped with the help of tabs in the “Tasks” panel. Any items in the “Navigator” panels can be used as these tabs. Most often, they are projects. Using tabs is very convenient. For example, there are two projects: “Writing an article” and “Design development”. And these projects include a lot of tasks. Not to view tasks from both projects at once, you should click the corresponding project tab and the “Tasks” panel will show tasks of one project only (for example, those from “Writing an article”).
Filters. It allows you to view records by certain selected parameters. Parameters (criteria) are set when you create records: task start time, responsible person, physical locations where the task is completed and others. It means that filtering allows you to select records (from different projects) among all created records by certain criteria. This feature seemed the most actual one to me since it offers wide opportunities in selecting what is needed at the moment accoding to some event from the entire list.
There is no clear view in Outlook. And even more – viewing tasks is made as difficult as possible. As I mentioned before, all tasks and notes are displayed in one list. There are no trees, no highlighting, no tabs and only simple filtering (you cannot create custom filters).
6. Differentiated tasks.
LeaderTask allows you to plan your activity assigning tasks to a certain context. Context means circumstances that suit best for completing a task (for example, “in office”, “at home”, “at a conema” and others). Also, it is possible to single out tasks by parameters and attributes set for them. For example, by projects, by contacts, by priority, by urgency and by others. In other words, LeaderTask considers the same tasks with different attributes as different tasks (which they are).
Tasks are not differentiated in Outlook. All tasks are equal. That’s probably the reason why it does not have such useful features as trees, filtering and others…
Microsoft Outlook advantages.
1. Data synchronization.
Microsoft Outlook (to be exact, a lot of add-ins both from Microsoft and from third parties) allows you to synchronize your data on the computer with data on other devices, such as cell phones, pocket PCs, etc.
There is no such data synchronization in LeaderTask. It should be mentioned that LeaderTask is not assigned to any system during its installation – you can store it, for example, on a flash drive and use it on different computers. It is a bit of excuse.
2. Data import and export.
Microsoft Outlook has automatic data impot and export. You can import quite a lot of items: address books, e-mail messages, account settings, etc. You can also export this data into various formats that are most convenient for importing by other programs. Besides, there are special add-ins enhancing the data import and export features.
I could not find data import and export in LeaderTask.
Summary.
These are the main advantages and disadvantages of LeaderTask. Since I plan my time only using the computer and only in LeaderTask, I do not have to import, export and synchronize data. But, of course, it is no excuse for its drawbacks. Probably, they will be fixed soon. And if they do it, LeaderTask will become the best organizer ever. And there is no doubt that they will do it taking into account how thoughful software developers from Almeza are about their software making it comfortable, appealing and functional. Most probably, data import, export and synchronization are only a question of time.
All that may be even implemented already in the current version of the program – it all depends on when you are reading this article…
LeaderTask is a perfect choice for everyone who is looking for an alternative to Outlook!
Download the free trial vesion of the LeaderTask organizer
http://www.leadertask.com/download/leader.exe
LeaderTask organizer homepage
http://www.leadertask.com/
LeaderTask support forum
http://www.todoforum.com/
Validoc, THE software for graphical and PDF printouts on iSeries systems.
by admin on Jul.20, 2009, under Software
Validoc is a software for iSeries (AS/400) systems able to apply several graphical enhancements to the standard output by adding graphics, fonts and making a remapping of the print output. Validoc allows you to convert graphical print output into a PC format, such as PDF, TIFF, TXT and many more. It is possible to automatically manage the storage of the resulting files on a LAN and schedule their transmission through fax and e-mail.
It can be seamlessly integrated with your existing software without any modification, no matter if it is a simple accounting package or a full featured E.R.P., reducing thus set-up costs and streamlining your workflow.
Validoc has been entirely developed (and is fully supported) by “RECORD Informatica” and has an Italian user interface.
The software is actually split into two integrated sub-systems. The main one, which handles the printing spools, is installed on the iSeries machine; while the document transformation engine and the fax and mail engines work on any common PC.
System requirements
Validoc ensures full compliance with standard pc formats.
The mailing functions work with any standard SMTP mail server.
Fax functions require a standard asynchronous modem supporting fax functions.
As regards the PC side, it works on any Microsoft Windows version, while the document transformation engine, the fax and e-mail functions operate on Windows NT, Windows 2000 and XP.
The iSeries components can be installed on the software release V4R2M0 or later.
The print output can be handled by any laser printer supporting the PCL5 language, which is a de-facto standard for any printer built in recent years.
Lighweight
The iSeries components stay silent and idle while waiting for documents to be processed. This avoids the common problem of CPU overhead caused by pooling on the printing queues, as most competitors’ software do.
Easy
The user interface is designed to be both simple and effective so that a novice user can become proficient quickly and unleash the full power of the system without specific training.
Scalable
Validoc follows the growth of your company, with a license system modelled upon the IBM iSeries pricing system. Therefore each company will take advantage from the software at a price proportional to its size.
Modular
We always configure Validoc considering actual customer needs, evaluated individually. At any time it is possible to add further modules to the installed configuration.
The modules can enable functions such as spool processing, graphical enhancements, font formatting, file format conversion (to standard PC formats such as PDF or TIFF), automatic categorisation and filing of documents on the customer’s lan, mailing and faxing and data processing on Excel documents..
Safe
Data and images are processed on the iSeries, whose reliability is well known. It is possible to setup an authorisation system to grant or deny to specific users the right to open the produced documents. The documents saved on LAN folders before mailing or faxing are always zipped and password protected to avoid unauthorised opening of the files.
Validoc is developed by:
Record Informatica srl
Baluardo A. La Marmora, 2 – 28100 Novara (NO)
Tel. 0321611208 – Fax 0321684170
record@recordinformatica.it
Valodic: gestione spool di stampa su as400
Key advantages
VALIDOC grants you several benefits, among them we point out the following:
1) Use a single paper format
Each company usually needs several different paper formats, such as wide “easy reading” paper, pre-printed forms for invoices, customised A4 paper with logo and company headers used for mailing and so on.
All these paper formats can be easily substituted by standard A4 paper. Validoc can add all the graphical elements which are pre-printed on the traditional approach. It allows using any available font and formatting and it enhances the final result delivering laser-printer quality.
The advantages of using a single paper format are manifold, and involve filing in standardised folders, simpler mailing, standardised paper handling, easier storage in the company archives, no more risk of running out of stock of a kind of paper and an overall saving in paper costs.
2) Modify your pre-printed forms without the intervention of a typography
Several events require an editing of the standard forms for several kinds of documents. Think about changes to be made to text printed to meet legal requirements, new data to be printed both in internal or external documents, custom text and graphics to be used just in some cases of for a limited amount of time, special conditional “formatting” to be applied just on some documents and many more cases.
When using pre-printed forms all this means that you have to buy several different kinds of forms, you must handle all the stocks, sustain both the risk of shortage and the cost of unused (and unusable) stocks and so on.
Moreover there is a work time overhead since the paper handling is longer, more complex, less flexible, and ultimately not cost-effective and more error-prone.
All these problems are gone when using a single paper format.
3) No more paper change on the printer
Using pre-printed paper you must handle several paper changes on the printers. This means the people waste time changing paper formats, there are overheads due to errors in loading the wrong paper format or mistakes in handling the print queue, there is the need to ask other people to pause printing while you load a specific paper format and so on.
The bottom line is that printing takes more time, is less efficient, and all this means more costs.
Using Validoc instead printing is a “launch and forget” process, you do not have to worry about the kind of paper loaded, manage the print queue, ask to other people to wait for printing when you load your paper format, you do not have to search for that paper format. You do your job. Validoc delivers you your document properly printed.
4) Better printing quality
Validoc allows the usage of standardised forms for any printing task, even the ones that usually are not form-based since handling pre-printed paper for any kind of document would be too expensive.
Standardised and cost-effective printing allows better communications, reduces errors, and simplifies the filing of information.
Moreover the produced documents have laser printer quality, improving the overall readability of the documents and the quality of faxes.
5) Streamlined workflow for printing, e-mailing and faxing iSeries documents.
Validoc is an integrated software able to handle the whole document processing, from creation to format conversion, storage and transmission. This means that it is possible to save a considerable amount of time, achieving a higher quality result! Let Validoc handle the document life cycle and stop waiting for that fax transmission receipt. Validoc is an investment that pays itself quickly thanks to the improvements in your company processes and immediate savings on documents handling operations.
6) Easy access to iSeries documents stored in your network.
It is possible to turn simply and quickly and printout produced by Validoc into PDF and Tiff format, without any loss of information and formatting.
It is therefore possible to organise your storage automatically. You can instruct Validoc (through a simple configuration process) to save all the documents of a specific type, say “orders”, in a dedicated folder, filing them in appropriate subfolders organised by year, or by supplier, or by region, or by category of items ordered or whatever criteria you think is appropriate. Validoc handles the folders and subdfolders to allow several criteria to be applied at the same time. It handles as well proper file naming accordingly with user-defined criteria.
All this happens automatically whenever you print a document.
7) Mailing savings
In recent years “poste Italiane” developed a successful service called “Postel”. The aim of this service is to reduce costs related to printing, envelopes handling, stamping and other mailing-related operations.
Validoc can handle the whole process that starts with the print command and can take different routes: fax or e-mail or traditional mailing or direct integration with Postel services or any combination of these options.
For each document to be transmitted you can decide with a single command which route it must be directed to, whether it is the inexpensive e-mail, the cheap fax or the old, expensive but sometimes still necessary paper mail the decision is up to you. But once the decision is taken Validoc handles the whole process and delivers the document to the proper interface without further user intervention.
Validoc modules.
VALIDOC has 5 distinct modules: Printing, Extract, PDF-Tiff, E-mail and Fax.
We will now point out some key point for each of them.
Printing
This module adds to iSeries printing graphical layouts, being therefore able to make multiple copies printing of orders, DDT, production documents and so on. The graphical layouts can be created with any Windows-based graphical software; they are then imported into the iSeries and dynamically integrated in the printed documents. This module converts the fonts, the styles, the size (both LPI and CPI); it can operate on the whole document or just a part of it. Moreover the module can be used to print bar-coded labels, even using printers that do not support them natively. It is possible to “remap” the printout, that is redefine its contents (by adding variable or constant text, omitting some parts, copying data from different portions of the document, automatically number pages (also in the format “page x of Y”).
All this can be configured and differentiated for different copies of the document. The configuration is performed directly on the iSeries and uses a graphical preview to show how the document will look like.
Moreover it is possible to setup several conditions to apply automatic formatting parameters. Conditions can be based upon the contents of the document itself, external data, exit values provided by external programs, user data, queues, module-related information, number of the copy and many more.
The same set of conditional formatting options are supported by all the 5 modules of validoc.
PDF-Tiff
Format conversion module
This module converts the output of the “printing” module (both text and graphics) into standard PDF or TIFF files. It can automatically divide a single spool into different files, accordingly with several user-defined parameters. The output files are automatically saved on your server taking advantage of the full support to the filing and folder managing rules defined in the system to automatically build and keep up to date a hierarchy of folders.
E-mail
This module substitutes all the classical shipping systems such as mail and postel. The module can send PDF, TIFF or TXT documents produced by other Validoc modules as an e-mail attachment. It works fully automatically and follows all the formatting and shipping rules defined into the “Validoc” system.
Fax
This module allows faxing of graphical files produced by other Validoc modules. It has all the functions you can expect form a full-featured fax software, such as automatic fax sending, ability to create different cover pages accordingly with several parameters, ability to select which version of a document must be sent, ability to divide in different fax sessions the documents contained into a single spool file, configurable scheduling, automatic management of retrial should a transmission problem arise and so on.
You do not need external faxing programs any more, such as WinFax and ZetaFax. The fax modules (as well as the e-mail module) operate on the PC side and they both provide a convenient user interface to filter and manage any transmission status and information so that it is possible to have with a few clicks an overview of the shipping progress and of any transmission problem.
Extract
This iSeries-based module allows structured extraction of data from printings. It is possible to extract portions of the documents and send them to a receiving service on the iSeries or on a pc file in excel format. This allows further data manipulation, such as queries and statistics on the extracted data. This module can operate even without the support of an EDP manager and in those environments in which it is not possible to modify the installed software.
SSH tunneling in your application
by admin on Jul.20, 2009, under Software
Introduction
This article is dedicated to the task of securing MySQL client-server connection using functionality provided by the Secure Shell (SSH) protocol. To be exact, the SSH tunneling concept is utilized. We will review the steps needed to build secure MySQL client applications and implement a sample one ourselves.
MySQL traffic is not the only kind of data that can be tunneled by the Secure Shell. SSH can be used to secure any application-layer TCP-based protocol, such as HTTP, SMTP and POP3. If your application needs to secure such a protocol by tunneling it through a protected SSH connection, this article will be useful to you.
Background
Let’s imagine that we are developing an enterprise application that needs to send requests to a number of SQL servers all over the world and get responses from them (let’s imagine that it’s a super-powerful bank system that stores information about millions of accounts).
All the data between the application and SQL servers are transferred via the Internet “as is”. As most protocols used by SQL servers do not provide data integrity and confidentiality (and those that do, do it in a quite nontransparent way), all the transferred requests and responses may (and be sure, they will!) become visible to a passive adversary. An active adversary can cause much more serious problems – he can alter the data and no one will detect it!
SSH (Secure Shell) is a protocol that may help in solving this problem. One of its outstanding features is its ability to tunnel different types of connections through a single, confident and integrity-protected connection.
Now you do not have to worry about securing the data transferred over the Internet – SSH will handle this for you. In particular, SSH will take care of the following security aspects:
Strong data encryption according to the latest industry-standard algorithms (AES, Twofish)
Authentication of both client and server computers
Data integrity protection
Stability with regard to different kinds of network attacks
Compression of the data being tunneled
Complete independence of the operating system and network specifics
Tunneling (or forwarding) works in the following way:
SSH client opens a listening port on some local network interface and tells the SSH server that he wishes to forward all connections accepted on this port to some remote host.
When another connection is accepted on the listening port, the SSH client informs the SSH server about this fact and they together establish a logical tunnel for it. At the same time, the SSH server establishes a new TCP connection to the remote host agreed upon in step 1.
The SSH client encrypts all the data it receives from the accepted connection and sends it to the SSH server. The SSH server decrypts the data received from the SSH client and sends it to the remote host.
Please note, that the SSH client acts as a TCP server for the connections it accepts, and the SSH server acts as a TCP client for the connections it establishes to the remote host.
A single SSH connection can tunnel as many application layer connections as needed. This means that you can defend your server by moving all the listening ports (e.g., database and application server ports) to a local network, leaving only the SSH port open. It is much easier to take care of a single port, rather than a dozen different listening ports.
Into the Fire!
Let’s develop a small application that illustrates the use of SSH forwarding capabilities. We will consider an important task of securing a connection between a MySQL client application and a MySQL server. Imagine that we need to get information from the database server, which is located a thousand miles away from us, in a secure way.
SecureMySQLClient is the application we are planning to implement. It includes the following modules:
SSH client-side module with forwarding capabilities
MySQL client-side module
User interface for configuring application settings and displaying query results.
The SSH server runs in a remote network and is visible from the Internet. The database (MySQL) server runs in the same network as the SSH server and may not be visible from the Internet.
The process of performing secure data exchange between SecureMySQLClient and the Database server goes as follows:
The SSH client module negotiates a secure connection to the SSH server and establishes forwarding from some local port to the remote MySQL server.
The MySQL client module connects to the listening port opened by the SSH client module.
The SSH client and server set up a logical tunnel for the accepted connection.
The MySQL client sends SELECT to the port opened by the SSH client module, which encrypts it and sends it to the SSH server. The SSH server decrypts the request and sends it to the MySQL server.
The SSH server receives a response from the MySQL server, encrypts it and sends it back to the SSH client, which decrypts it and passes it to the MySQL client module.
Looks too complex? Implementing this is easier than you think.So, let’s go and do it.
We will need the following products installed on the computer before creating the application:
Microsoft Visual Studio .NET 2003, 2005 or 2008.
EldoS SecureBlackbox (.NET edition). Can be downloaded from
http://www.eldos.com/sbbdev/download.php.
MySQL .NET Connector. Can be downloaded from
http://www.mysql.com/products/connector/net/.
Let’s now open Microsoft Visual Studio .NET (we will use the 2005 version) and try to build such an application from scratch.
After the GUI design has been finished, we can go on with the business logic code itself. First, adding references to the following assemblies to our project:
SecureBlackbox
SecureBlackbox.PKI (only in SecureBlackbox 5. SecureBlackbox 6 doesn’t have this assembly)
SecureBlackbox.SSHClient
SecureBlackbox.SSHCommon
MySql.Data
SSHForwarding notifies us about certain situations via its events, so we need to create handlers for some of them:
OnAuthenticationSuccess – Is fired when the client authentication process has been completed.
OnAuthenticationFailed – Is fired if the client was unable to authenticate using particular authentication method. In general, this does not mean that the authentication process completely failed – the client may try several authentication methods consequently and one of them may succeed.
OnError – Is fired if some protocol error occurs during the session. Usually this leads to a connection closure. The exact error can be detected via the error code passed to it.
OnKeyValidate – Is used to pass the received server key to the application. Please note that incorrect handling of this event may result in a serious security breach. The handler of this event should verify that the passed key corresponds to the remote server (and warn the user if it does not). If the key is valid, the handler should set the Validate parameter to true. The sample does not perform key checkup for the sake of simplicity.
OnOpen – Is fired when the SSH connection is established and the component is ready to tunnel data. We will use the handler of this event to kick the MySQL client component.
OnClose – Is fired when the SSH connection is closed.
OnConnectionOpen – Is fired when a new tunnel is created. The corresponding tunneled connection object is passed as parameter.
OnConnectionClose – Is fired when an existing tunnel is closed.
Implementing two core methods, SetupSSHConnection() and RunQuery(). The first one initializes the SSHForwarding object and establishes an SSH session to the remote server by calling its Open() method, and the second one sends the query to the MySQL server.
The code of the SetupSSHConnection() method is pretty simple:
private void SetupSSHConnection()
{
// Specifying address and port of SSH server
Forwarding.Address = tbSSHAddress.Text;
Forwarding.Port = Convert.ToInt32(tbSSHPort.Text);
// Setting credentials for authentication on SSH server
Forwarding.Username = tbUsername.Text;
Forwarding.Password = tbPassword.Text;
// Specifying network interface and port number to be opened locally
Forwarding.ForwardedHost = “”;
Forwarding.ForwardedPort = Convert.ToInt32(tbFwdPort.Text);
// Specifying destination host where the server should forward the data to.
// Please note, that the destination should be specified according to
// SSH servers point of view. E.g., 127.0.0.1 will stand for
// SSH servers localhost, not SSH clients one.
Forwarding.DestHost = tbDBAddress.Text;
Forwarding.DestPort = Convert.ToInt32(tbDBPort.Text);
// Opening SSH connection
Forwarding.Open();
}
A bit more complex is the code of the RunQuery() method (to be exact, the code of RunQueryThreadFunc() method, which is invoked in a separate thread by the RunQuery() method):
private void RunQueryThreadFunc()
{
MySqlConnection MySQLConnection = new MySqlConnection();
// forming connection string
string connString = “database=” + tbDBName.Text + “;Connect Timeout=30;user id=” + tbDBUsername.Text + “; pwd=” + tbDBPassword.Text + “;”;
if (cbUseTunnelling.Checked)
{
// specifying local destination if forwarding is enabled
connString = connString + “server=127.0.0.1; port=” + tbFwdPort.Text;
}
else
{
// specifying real MySQL server location if forwarding is not used
connString = connString + “server=” + tbDBAddress.Text + “; port=” + tbDBPort.Text;
}
MySQLConnection.ConnectionString = connString;
try
{
// opening MySQL connection
MySqlCommand cmd = new MySqlCommand(tbQuery.Text, MySQLConnection);
Log(“Connecting to MySQL server…”);
MySQLConnection.Open();
Log(“Connection to MySQL server established. Version: ” + MySQLConnection.ServerVersion + “.”);
// reading query results
MySqlDataReader reader = cmd.ExecuteReader();
try
{
for (int i = 0; i < reader.FieldCount; i++)
{
AddQueryColumn(reader.GetName(i));
}
while (reader.Read())
{
string[] values = new string[reader.FieldCount];
for (int i = 0; i < reader.FieldCount; i++)
{
values[i] = reader.GetString(i);
}
AddQueryValues(values);
}
}
finally
{
// closing both MySQL and SSH connections
Log(“Closing MySQL connection”);
reader.Close();
MySQLConnection.Close();
Forwarding.Close();
}
}
catch (Exception ex)
{
Log(“MySQL connection failed (” + ex.Message + “)”);
}
}
And, that’s all!
But there is one more thing I need to draw your attention to. As both SSH and MySQL protocols run in separate threads and access GUI controls from those threads, we need to handle the GUI access in a special way to prevent a cross-thread problems. I will illustrate this with the example of the Log() method:
delegate void LogFunc(string S);
private void Log(string S)
{
if (lvLog.InvokeRequired)
{
LogFunc d = new LogFunc(Log);
Invoke(d, new object[] { S });
}
else
{
ListViewItem item = new ListViewItem();
item.Text = DateTime.Now.ToShortTimeString();
item.SubItems.Add(S);
lvLog.Items.Add(item);
}
}
Finally, the application is finished, and we may try it in work. So clicking F5 and specifying the following settings in the text fields of the application form:
SSH server location, username and password used to authenticate to it.
Database server address, port, username, password, database name and query. Remember that database server address should be specified as it is visible from the SSH server.
Turning on the “Use tunneling” checkbox.
Now click the Start button and wait for the query results. If all the parameters have been specified correctly, we should get something like this:
Features and requirements
SSH protocol provides (and SecureBlackbox implements) the following features:
Strong data encryption using AES, Twofish, Triple DES, Serpent and many other symmetric algorithms with key lengths up to 256 bits
Client authentication using one or multiple authentication types (password-based, public key-based, X.509 certificate-based, interactive challenge-response authentication)
Server authentication
Strong key exchange based on DH or RSA public key algorithms
Data integrity protection
Compression of tunneled data
Multiplexing several tunneled connections through a single SSH connection
SecureBlackbox provides the following functionality as well:
Comprehensive standards-compliant implementation of the SSH protocol (both client and server sides)
Support for cryptographic tokens as storage for keys and certificates
Windows system certificate stores support
Professional and fast customer support
SecureBlackbox is available in .NET, VCL and ActiveX editions. This means that you can use the components in projects implemented in C#, VB.NET, Object Pascal (Delphi and Kylix), FreePascal, VB6 and C++ languages.
SecureBlackbox (.NET edition) is available for Microsoft .NET Framework 1.1, 2.0, 3.0 and 3.5, and .NET Compact Framework.