mvc open pdf in browser : Convert pdf picture to jpg Library software component asp.net winforms web page mvc Expert_.NET_Delivery_Using_NAnt_and_CruiseControl_.NET_200511-part1058

Summary
It has taken a little time to examine the features and specifics of NAnt, but you should now
befeeling confident with the tool. At this point, you should be capable of producing effective
scripts. More important, we hope we have whetted your appetite to tackle the issues our
process presents even if you are not quite sure of the exact implementation details.
As far as implementation details, this chapter has explored specific tasks and the basis for
simple solutions.
We will now move forward and apply our process to an actual system using NAnt. This
approach is aligned with the Design to Deliver initiative that we introduced in Chapter 2; we
will identify a suitable simple candidate and implement the process with only this candidate
in mind initially. 
CHAPTER 3 IMPORTANT NANT TASKS
89
Convert pdf picture to jpg - Convert PDF to JPEG images in C#.net, ASP.NET MVC, WinForms, WPF project
How to convert PDF to JPEG using C#.NET PDF to JPEG conversion / converter library control SDK
convert pdf to high quality jpg; batch pdf to jpg converter online
Convert pdf picture to jpg - VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.net, ASP.NET MVC, WinForms, WPF project
Online Tutorial for PDF to JPEG (JPG) Conversion in VB.NET Image Application
convert multiple pdf to jpg; convert pdf to 300 dpi jpg
A Simple Case Study
A
t last we can get our teeth into a real-world delivery scenario. We have taken some time to
get to this point and now we can reap the benefits.
In this chapter, we will look at a sample application and construct the build and deploy
files specifically for this application. We will not focus on core standards at this point, though
we will highlight areas that may be worth consideration. (The next chapter investigates these
standards in detail.)
To work through the scenario, we will first examine the application that we will apply our
scripts to. Then we will develop use cases to build and deploy to ensure that our scripts cover
the processes in the way we want. After we have organized some environment issues, we will
finally run through the detailed process of creating the required scripts.
At the end of this chapter we will have an application that has been fully automated in
terms of simple delivery, precisely as required by the Design to Deliver initiative from Chapter 1.
Examining the Application
The application that we will automate is quite simple and does not contain complicated fea-
tures, such as a database, that require detailed discussion. It is entirely .NET-based.
Let us imagine for a moment that this is the latest offering from the Etomic workshop. It
ispossibly too much to imagine that the application will be a true money-spinner(!) for the
hardworking development outfit, but regardless, the same effort should be made to ensure
efficient delivery of the application.
Note
All of the solution-based code for the book is stored in the Visual SourceSafe (VSS) database that
comes with the source code for this book.This is because we will integrate with VSS as part of the delivery
processes.You can find a copy of the same source code,unbound from the VSS database,in the Projects
folder of the source code for this book.
91
CHAPTER 4
■ ■ ■
C# PDF insert image Library: insert images into PDF in C#.net, ASP
Jpg, Png, Gif, Bmp, Tiff and other bitmap images. Powerful .NET PDF image edit control, enable users to insert vector images to PDF file. Import graphic picture
convert pdf into jpg online; changing pdf to jpg
VB.NET Image: Visual Basic .NET Guide to Draw Text on Image in .
for drawing text on a local picture with Visual Dim LoadImage As New Bitmap("C:\1. jpg") Dim Text As powerful & profession imaging controls, PDF document, image
convert pdf pages to jpg online; batch pdf to jpg converter
CHAPTER 4 A SIMPLE CASE STUDY
92
What Does It Do?
The application, called Transformer, is quite straightforward. It accepts some XML and XSLT
input and can be used to show the results of the transformation on demand. Additionally, it
can save and load the XML and XSLT snippets for later use. Figure 4-1 shows the main form
forthe application.
Figure 4-1.The Transformer application
The solution itself comprises three projects:
TransformerEngine.This project consists of the actual logic for providing transformation
services: it’s a very simple service.
TransformerGui.This project provides a Windows Forms GUI for the transformation
services and consists of one form and a couple of dialog boxes.
TransformerTests.This project contains the unit tests for the application, focused
entirely on unit testing of the TransformerEngineassembly.
So, as we had already mentioned, it is quite a simple application. Aside from the excellent
source code that makes up the solution, notice that the developer has taken the time to
Provide unit tests for the solution
Fully utilize the C# XML-commenting capabilities across the solution
Ensure a good degree of FxCop compliancy across the solution
All of these features of the solution are important in terms of fulfilling the requirements
ofthe build process. Since these activities are already completed, or at least under way, our
VB.NET Image: VB.NET Planet Barcode Generator for Image, Picture &
and a document file (supported files are PDF, Word & barcode image format as you need, including JPG, GIF, BMP Generate Planet Barcode on Picture & Image in VB
best program to convert pdf to jpg; convert multiple pdf to jpg online
VB.NET Image: How to Save Image & Print Image Using VB.NET
printing multi-page document files, like PDF and Word VB.NET Method to Save Image / Picture. different image encoders, including tif encoder, jpg encoder, png
convert pdf into jpg format; convert pdf file to jpg file
lifewill be made easier during the scripting process. We will see the outputs of these features
using NAnt, but we can also investigate them outside the automated process. This is not an
exhaustive list of analytical possibilities by any means, but these are the activities that comply
with the requirements of our process. Other possibilities include analysis of software metrics,
such as the depth of conditional decision making, and other such measures of complexity,
unit testing coverage, and so on.
The best way to see the outputs is to open the solution file and perform a build. Once we
do, we can use tools to see the results of the efforts by the developer. A project for NUnit,
NDoc, and FxCop is included in the solution items area for this solution.
Note
We use the following software:NUnit v2.2,NDoc v1.2,and FxCop v1.30.The source code for the
book includes these tools under the Toolsfolder,and they should be ready to use.
The Unit Tests
Providing unit tests for a solution is not a matter of pointing the NUnit GUI at the compiled
assembly and hoping for the best; the unit tests must be written by the developer(s) as part of
the development of the system. In fact, if you subscribe to the Test-Driven Development con-
cept, then the unit tests become the description of the system in many ways. A unit test for the
Transformer application looks like this:
[Test]
public void TestGetAll()
{
DeleteAllTransformations();
Transformation t = new Transformation();
t.Output = "aaa";
t.Title  = "aaa";
t.Xml  = "aaa";
t.Xslt   = "aaa";
t.Save();
t.Save();
t.Save();
ApplicationEngine engine = new ApplicationEngine();
IList transforms = engine.GetAllTransformations();
Assert.IsTrue(transforms.Count == 3);
}
This code is C#, but by referencing the NUnit framework assembly, we can apply an
attribute to the code that allows the NUnit executable to identify the method as a test method.
Other attributes exist to identify methods as those that set up a testing scenario, reset a testing
scenario, or perform the same actions for groups of tests.
CHAPTER 4 A SIMPLE CASE STUDY
93
VB.NET PDF insert image library: insert images into PDF in vb.net
Support various image formats, like Jpeg or Jpg, Png, Gif, Bmp, Tiff and Import graphic picture, digital photo, signature and logo into PDF document.
convert pdf to jpg batch; convert multi page pdf to single jpg
C# PDF remove image library: remove, delete images from PDF in C#.
VB.NET delete PDF pages, VB.NET convert PDF to SVG. Support removing vector image, graphic picture, digital photo remove multiple or all images from PDF document.
change pdf to jpg file; to jpeg
This unit test removes all currently saved transformations from the database and then
saves three “garbage” transformations as test data. Then an “assertion” class (provided by
NUnit) is used to check that all three transformations are returned when requested, thus prov-
ing at least one part of the code—the testing activities—works. Testing the database can be
handled in a few ways, and other methods may be more appropriate to your own needs.
There are many nuances to the art of unit testing that are best explained elsewhere and in
full. A good source of information can be found in James Newkirk’s book Test-Driven Develop-
ment in Microsoft .NET(see Further Reading at the end of this chapter).
Opening up the NUnit project with the NUnit GUI allows us to run the limited unit tests.
You should see the screen in Figure 4-2 with all of the lights green when the tests are run. 
CHAPTER 4 A SIMPLE CASE STUDY
94
Figure 4-2.NUnit test results
Knowing that the current suite of unit tests runs correctly is important because any fail-
ures would prevent the build process from completing successfully.
The XML Documentation
We can use NDoc to transform the XML comments made in the code into compiled HTML or
other types of documentation. The Transformer.ndoc project demonstrates the settings for
NDoc used by the developer. NDoc has many settings and does a great job of ensuring your
code documentation looks the way you want it. You can place XML code like the following
above a method, class, or other code construct:
VB.NET PDF remove image library: remove, delete images from PDF in
C#.NET convert PDF to text, C#.NET convert PDF to images Support removing vector image, graphic picture, digital photo or all image objects from PDF document in
.net convert pdf to jpg; convert pdf to jpg
VB.NET Word: Word to JPEG Image Converter in .NET Application
NET example below on how to convert a local been converted into an individual Jpeg image / picture. powerful & profession imaging controls, PDF document, image
batch convert pdf to jpg online; convert pdf file to jpg on
/// <summary>
/// Gets the XML to be used for the transformation.
/// </summary>
public string Xml
{
get { return _xml; }
set { _xml = ReplaceNullString(value); }
}
NDoc can transform the XML that is present in the source code (across all of the source
code) in the way you choose to describe in NDoc to produce the documentation. The docu-
mentation is usually output as HTML but can also be output as the regular Windows Compile
HTML (CHM) files you might expect with professional applications.
Opening the project file in NDoc produces output similar to that shown in Figure 4-3.
Once again, it is useful to know that no significant problems were encountered with the pro-
duction of this material.
Figure 4-3.NDoc output
CHAPTER 4 A SIMPLE CASE STUDY
95
VB.NET Image: How to Create Visual Basic .NET Windows Image Viewer
including png, jpeg, gif, tiff, bmp, PDF, and Word What's more, you can even convert an image to ofd.Title = "Open Picture" ofd.Filter = "Picture File |*.bmp
c# pdf to jpg; reader pdf to jpeg
VB.NET PDF copy, paste image library: copy, paste, cut PDF images
copying, pasting and cutting from adobe PDF file in Supported image formats, including Jpeg or Jpg, Png, Gif and cut vector image, graphic picture, digital photo
change from pdf to jpg on; .net pdf to jpg
The FxCop Compliancy
Finally, in terms of additional features that the developer has considered as part of the solu-
tion, an FxCop project is provided as well. The developer of this solution has attempted to
achieve FxCop compliancy by running checks at various intervals. FxCop checks your com-
piled assemblies against Microsoft coding standards—that is, the internal standards used by
Microsoft developers—rather than more general object-oriented (OO) or stylistic standards.
For that reason, some of its rules can seem harsh and overly restrictive, as the tool focuses on
very specific uses of the C# language. You may find it is not appropriate to your team on a day-
to-day basis, but nevertheless it can identify problems with syntactic technique in your code.
If we run the project using FxCop, we will see the results shown in Figure 4-4. These
results are not bad when you consider that FxCop is quite a hard taskmaster.
CHAPTER 4 A SIMPLE CASE STUDY
96
Figure 4-4.FxCop compliancy
Use Cases
Although we have a good understanding from prior discussions of the requirements for the
delivery process, it is worth formalizing this discussion. Here I have chosen to write simple
use cases to describe the two sections of the process. There is a direct correlation between
these use cases and the original skeleton scripts we formed during our discussion of NAnt.
These use cases are simple but provide a way of measuring success as we construct the build
files. 
We can expand on the content of the use cases later on when we have a better knowledge
of the actual scenario.
Build Use Case
Use Case ID:UC1
Use Case Name:Build System
Description:The user triggers a system build through an application interaction.The application requires no further
interaction.The application follows a series of steps to build,test,and publish a system.Once complete,a mes-
sage is displayed to the user and the built assets are available for use.
Preconditions:
The software is in a state that will compile.
The software is available to the build application.
Postconditions:
The system software is compiled and available in a state that will deploy.
Normal Course:
1.The user triggers the build application to perform a build.
2.The application prepares an environment for performing the build process and publishing results and outputs.
3.The application supplies versioning information applicable to the system for use during compilation,manage-
ment,and publishing.(See Alternative Course 3.1.)
4.The application compiles the system software.
5.The application performs unit testing and other reports on the status of the software.
6.The application creates documentation based on the output of the software compilation.
7.The application publishes the software system assets in an identifiable package and sends a message to the
user.
Alternative Courses:
3.1 Where no versioning is required,then a default version number is used that does not impact the regular ver-
sioning system.
Exceptions:
E1.All failures.Process stops immediately and sends message to user.(See Exception E2.)
E2.Unit Testing.Process produces report on failing unit tests and then stops and sends message to user.
CHAPTER 4 A SIMPLE CASE STUDY
97
Deploy
Use Case ID:UC2
Use Case Name:Deploy System
Description:The user triggers a system deploy through an application interaction.The application requires no fur-
ther interaction.The application follows a series of steps to perform a deployment of a system based on the assets
delivered from UC1.Once complete,a message is displayed to the user and the system is available for use.
Preconditions:
The software system assets are available in an identifiable package resulting from UC1.
Postconditions:
The system is deployed and available for use.
Normal Course:
1.The user triggers the deploy application to perform a deploy.
2.The application selects the correct deployment package.(See Alternative Course 2.1.)
3.The application gets the correct deployment package and unpackages it.
4.The application selects the correct environment information for deployment.
5.The application prepares the environment based on the information in step 4.
6.The application positions the software system assets in the prepared environment.
7.The application performs any additional configuration steps required by the assets and/or the selected
environment.
8.The application sends a message to the user.
Alternative Courses:
2.1 Where no versioning is required,a default version number is used that does not impact the regular versioning
system.
Exceptions:
E1.All failures.Process stops immediately and sends message to user.
Organizing the Environment
Some final steps are required before we create the build files for the sample application. We
need to ensure that VSS is ready to use and that we have developed an appropriate disk area
for performing the processes.
CHAPTER 4 A SIMPLE CASE STUDY
98
Visual SourceSafe
I have set up VSS under D:\dotNetDelivery\VSS. Table 4-1 shows the user accounts in the
database.
Table 4-1.VSS User Accounts
Username
Password
Notes
Admin
admin
The secret administration account
Marc
marc
My own account for making code changes
Guest
None
A read-only account for viewing source code
Builder
builder
The read-write account we will use in the NAnt build files
The most important account to us at this point is the Builderaccount. This is the account
that NAnt will use to access VSS. For the most part, NAnt does not require read-write access,
but as we begin to label the database and perform more complex actions this additional level
of access is required. 
Standardizing on the Builderaccount for all VSS databases ensures the same settings will
be used for many projects across many build files.
Caution
Because the passwords will be stored in plain text inside the build files,security is a concern.
Unfortunately,not much can be done about security at this time.However,storing the password to the
Builderaccount is at least preferable to storing the Adminaccount details.
Build Folders
Now that we have our inputs to the process in the VSS-based information, we need to define
locations for the process output. This is not a major headache, but a little thought prior to def-
inition of the file can go a long way. Table 4-2 describes the structures we will use, which are
set up under the BuildAreafolder of the source code.
Table 4-2.The Build Area
Folder
Purpose
Source
Holds the source code retrieved from VSS
Output
Stores the compiled code from the Sourcefolder
Docs
Contains the NDoc-based documentation
Reports
Stores any reporting output such as NUnit and FxCop reports
Distribution
Contains the final assets required for publishing
Publish
Contains actual published assets
CHAPTER 4 A SIMPLE CASE STUDY
99
Documents you may be interested
Documents you may be interested