One of the benefits of having a web application is that it can be very easily accessed by everyone around the world. One of the downsides of this is that when so many people use your application, they are going to have errors in their input. Some people are not attentive, others are tired and, finally, everyone in this world has his or her individual style of thinking, so something that seems obvious to the developers of the application might puzzle someone else.
A well-designed web application should immediately be able to define that the input is wrong and stop—otherwise all kinds of errors can happen inside of the application. If this application is user-friendly, it should:
- Clearly and unambiguously inform the user that some part of the input is erroneous, and should be corrected.
- Identify the field that is erroneous and mark it in some way.
- If possible, display the erroneous value, and maybe even explain why exactly it is wrong.
In this article by Alexander Kolesnikov, we will see how Tapestry 5, being a highly efficient and user-friendly framework, handles these issues. For the purpose of this article we will use a Tapestry web application named Celebrity Collector.Read User Input Validation in Tapestry 5 in full
Today, everyone knows that the internet is running out of IP addresses. In fact, the current infrastructure of the internet is running over legacy IP (aka IPv4) protocol that was not designed for such wide-spread and complicated use (for example, IPv4 was not designed to run in a refrigerator).
The original design of Internet Protocol (IPv4) is not efficient for today's networks. And even worse, we are running out of IPv4 addresses in a few years!
FreeBSD uses the IPv6 code from the KAME project. The KAME project (see www.kame.net) has been inactive since 2005, and FreeBSD developers have eversince maintained the IPv6 protocol stack.
In this article by Babak Farrokhi, we will look into the following:
- IPv6 facts
- Using IPv6
- Routing IPv6
- Multicast routing
We need an administration interface to manage the content that users post to our website. In fact, the administration interface is a universal feature needed in any web application that stores and manages data. For this reason, Django comes with a fully-fledged administration interface ready to be used. This administration interface is considered one of the coolest features in Django because it's easy to use, yet powerful and flexible.
In this article by Ayman Hourieh, you will learn about:
- Activating the administration interface
- Using the administration interface to manage content
- Customizing the administration interface
- Assigning permissions to users and groups
The three-tiered architecture in Dynamics NAV 2009 enables wonderful things to happen. Yes, you can get better scalability by separating the business logic from the presentation layer, but there are a couple of other things you get as a result of the Dynamics NAV Service Tier: Web services enablement and Multiple Presentation Layers. The RoleTailored client is an example of a presentation layer. The user interfaces are lovely, without a doubt, but it's the Web services that have got people buzzing. Web services enablement opens up a whole new world for NAV implementations and in this article, we're going to look at some of the things we can now do.This is in continuation of the Previous Article on the same topic.
In this article by David Roys and Vjekoslav Babic you'll learn what you can do with Web services.Read Extending the Application using Microsoft Dynamics NAV 2009 (Part 2) in full
The three-tiered architecture in Dynamics NAV 2009 enables wonderful things to happen. Yes, you can get better scalability by separating the business logic from the presentation layer, but there are a couple of other things you get as a result of the Dynamics NAV Service Tier: Web services enablement and Multiple Presentation Layers. The RoleTailored client is an example of a presentation layer. The user interfaces are lovely, without a doubt, but it's the Web services that have got people buzzing. Web services enablement opens up a whole new world for NAV implementations and in this article, we're going to look at some of the things we can now do.
This topic is covered in two parts. In this article by David Roys and Vjekoslav Babic you'll learn:
- What a Web service is (a geek-free definition)
Cryptography is an art, as well as a science, that involves the process of transforming plaintext into scrambled text and vice-versa. The purpose of cryptography is to conceal the confidential information from unauthorized eyes and ensure immediate detection of any alteration made to the concealed information.
It is one of the most important domains in the CISSP (Certified Information System Security Professional) examination. This domain includes important concepts which are the fundamental building blocks for information security.
In this article by M.L.Srinivasan, we will discuss about Public Key Infrastructure (PKI) that uses the concepts of public key cryptography. We'll also review some of the important key management techniques, the various attacks on cryptographic systems, and conclude by reviewing some of the published cryptographic standards.Read Public Key Infrastructure (PKI) and other Concepts in Cryptography for CISSP Exam in full
In this article by Mark Noble, we will learn about adding calendar to our web site. A calendar is a fantastic way of keeping customers coming back to your site and your business at regular intervals so that they can take advantage of specials, sales, and other time-limited events.
We will consider the example of an imaginary web site created for a restaurant called Good Eatin' Bistro. Chef Wanyama is the owner of the Good Eatin' Bistro, a popular upscale restaurant. You can check this web site at http://goodeatin.drupalbyexample.com/.
We will create a basic event calendar, which displays information about musical concerts, special events, and more, for the Good Eatin' restaurant.Read Adding Calendar to a Web Site using Drupal 6 in full
A many-to-many relation requires an additional table to relate the two tables in relationship. In this article, by Ahsanul Bari and Anupom Syam, we will learn how to define associations in models for many-to-many relations. Then, we will look at how to retrieve, delete, and save related data from and into database tables using model association in this special type of relation.Read Working with Complex Associations using CakePHP in full
Database relationship is hard to maintain even for a mid-sized PHP/MySQL application, particularly, when multiple levels of relationships are involved because complicated SQL queries are needed. CakePHP offers a simple yet powerful feature called 'object relational mapping' or ORM to handle database relationships with ease.In CakePHP, relations between the database tables are defined through association—a way to represent the database table relationship inside CakePHP. Once the associations are defined in models according to the table relationships, we are ready to use its wonderful functionalities. Using CakePHP's ORM, we can save, retrieve, and delete related data into and from different database tables with simplicity, in a better way—no need to write complex SQL queries with multiple JOINs anymore!
In this article by Ahsanul Bari and Anupom Syam, we will have a deep look at various types of associations and their uses. In particular, the purpose of this article is to learn:
- How to figure out association types from database table relations
- How to define different types of associations in CakePHP models
- How to utilize the association for fetching related model data
- How to relate associated data while saving
Python Data Persistence using MySQL Part III: Building Python Data Structures Upon the Underlying Database Data
This article, the third one in the Python Data Persistence using MySQL series by Yuli Vasiliev, discusses how you can implement Python data structures representing data structures stored in the underlying database and then manipulate those data structures on the Python side.Read Python Data Persistence using MySQL Part III: Building Python Data Structures Upon the Underlying Database Data in full
Among other merits, Python is an ideal language for writing server-side scripts, allowing you to integrate interactive behavior with HTML. Persisting dynamic content to an underlying database is fairly straightforward. By installing an appropriate Python DB module, you get the ability to interact with the database of choice from within Python code, moving your application data in and out of the underlying persistent store.
This article by Yuli Vasiliev will walk you through the process of building a simple Python application that interacts with a MySQL database. In a nutshell, the application picks up some live data from a web site and then persists it to an underlying MySQL database.Read Python Data Persistence using MySQL in full
It is not always possible to conduct the automated tests. There are situations where we may need the manual tests. Manual testing is a document or a text file, which contains a set of steps for the tester to follow. Manual testing can be conducted in between automated tests or anywhere between a series of different tests. For example, after some sets of automated tests, we may have to check log files or configuration information or settings based on the tests executed to continue with the remaining automated tests. We can group all these tests together, order them, and create an ordered test to execute the tests in an order.
In some cases, we may need to execute the tests that are not created by using Visual Studio but required for this current application. In that case, we go for the generic test, which acts as a wrapper for the tests written by some third-party tool and executes that test inside Visual Studio IDE. Once it is wrapped, it is executed normally like any other test inside Visual Studio.
This article by Subashni.S and N Satheesh Kumar talks about the manual, generic, and ordered test types in detail. We will go through the steps to create and manage these tests types in VSTS.Read Manual, Generic, and Ordered Tests using Visual Studio 2008 in full
In this article by Mark Noble, we will introduce our imaginary client, the Good Eatin' Bistro, and discuss their plans to build a newsletter for their web site. We will add some new features which will allow Chef Wanyama, who is the owner of the Good Eatin' Bistro, a popular upscale restaurant, to keep his customers informed of current events at Good Eatin' restaurant. We will provide a new means of communication. The feature which is covered in this article is a quarterly newsletter that customers can subscribe to. The newsletter will contain valuable information from Chef Wanyama including coupons, news, recipes, and more.Read Adding Newsletters to a Web Site Using Drupal 6 in full
measured by testing the product based on the requirement, using different testing tools and techniques. Even though we test the product with different tools, the real judgement of the product comes from the testing that simulates the real life situation, for example, by simulating the actual number of users, by simulating the load and simulating the actual production environment, and then by measuring the product. Microsoft Visual Studio 2008 provides not only the development environment and code maintenance for application but also different testing features such as Unit test, Load test, Web test, Coded tests, and Ordering tests list.
This article by Subashni.S and N Satheesh Kumar, will give us an understanding of the tools in Visual Studio and an overview of the different types of testing supported by Visual Studio.Read Visual Studio 2008 Test Types in full
In the first part of this article we concentrated on two aspects Problem and Design. We started with the Problem, that is, defining what we need to implement the Friends concept, finding and inviting friends to join our network and developing an alert system. We then moved to Design wherein we actually finalized the requirements. And finally we began with the Solution, that is, actually implementing the features. In this part of the article by Andrew Siemer, we will continue with the solution part.Read ASP.NET Social Networks—Making Friends (Part 2) in full