This project is for 1 ActiveX component that should be loaded and installed in
Internet Explorer 5.0 and higher and 1 ASP page which will receive data from the
ActiveX component. Please note, that ActiveX component should work in Microsoft
Internet Explorer started with version 5.00 and not only in the latest, so make
sure that it works there (why? because lots of our clients still using it). The
ActiveX component should be developed using Microsoft Visual C++ 6.0 or lower.
This should NOT be developed using .NET! You are bidding on the development of 1
ActiveX component and 1 accompanied ASP page. You will include the complete
source code of the developed component.
PART 1. The ActiveX component has 3 panels.
PANEL #1 (Left Side): has a folder tree navigation, which allow users to
select drives and folders on their file system (which means all drives including
network neighborhood, My Computer and My Documents).
PANEL #2 (Top-Right Side): It has a list of Thumbs View of files. The
Thumb size is approx 96x96 pixels, and should be reconfigurable with the "Param
Name" tag. The acceptable file extensions, which component would recognize and
display as thumbs should be the most common image file formats and should be
reconfigurable with the "Param Name" tag. The extensions list is shown below. On
mouse roll over event on top of the thumb, the component should show that image
in the tiny border and there should be 2 little buttons appear on the top of the
image in the bottom left and bottom right corner of the thumb image. Pressing
those buttons will rotate the thumb view of the selected image on 90 degrees
clockwise and counter-clockwise respectfully. Double-click on the image would
launch the default action on the users computer, which is normally open in
whatever program they have, just like double-click in the explorer. They should
be able also to Drag-and-Drop the image to the 3rd panel - file list view.
PANEL # 3 (Bottom-Right Side): This is a simple file list. Once the images
has been dropped into this panel, they would appear in the form of typical
Windows Explorer list with the following columns: Name (including extension),
Size, File Type, Date Modified. Each file should have a standard 16x16 pixels
icon in front of the file name. The icon is the default icon associated with the
current file on the users computer, just like it would show in the Windows
Explorer. Double-click on the file, would launch the default action for current
file on the user's computer, like opening image editor or whatever the user may
have. The bottom of the ActiveX component should have the status-bar which will
have the number of images in the list and a hidden progress-bar. At the top of
the panel#2 there should be 4 buttons: "Add All", "Remove Selected", "Remove
All", "Send". If user clicks on the "Add All" button, then all the images in the
current folder would be added to the file list (Panel #3). While all files added
to the list, the progress-bar should show the progress of adding, and then
disappear when they're added. 5 or 20 images are added almost instantly even on
slow computers, so the progress may just blink for a second, but when user has
800 files, it may take several seconds to add them to the list. That's why we
need the progress bar there. Pressing the "Remove Selected" would remove
selected files from the list. Pressing "Remove All" would remove all files from
the list. The final step would be to press the "Send" button. When this happens,
all the images would begin uploaded to the server via HTTP protocol using method
POST using standard HTML form parameters ENCTYPE="Multipart/Form-Data". It
should be almost the same as if you had a simple Uploading HTML FORM. So, when
user clicks "Send" Button, a message box should appear in Modal format with the
status of uploading, saying something like: "Uploading file 37 of 45 xxxxx.JPG".
There should be a progress-bar indicating the progress of total all images.
Since we know the size of each file, there shouldn't be a problem displaying the
accurate progress bar. Also there should be the "Cancel" button, which would
simply cancel the uploading. At the end of successful transmission of all files,
browser should be redirected to the next page. It could be the very same ASP
page that receives the data from component or just another page.
PART 2. The ASP page should be very simple. Actually I don't need it at
all, because I already have it working, but I included this page into this
project, just in case if you need to make some changes and to make sure that
your ActiveX component is really working with the ASP page. This page is in
traditional ASP using VBScript (NOT using .net). This page should receive the
data from the ActiveX component via HTTP method POST. The ASP page should use the
ABCUpload4 component. You can download the working trial version of this
component alone with the samples of this page from:
[login to view URL]
ADDITIONAL OPTION: The ActiveX Uploader component should also submit any
FORM objects that may reside on the same page. For example, we should be able to
add a text-box or combo-box on the same page with the ActiveX component, and
when user sent files to the server, the values of this object(s) should be
POSTed to the ASP file as well. You don't have to do anything with these values,
since we are going to use them later. So the ActiveX component should be able to
grab a content of some FORM (the name of which, probably specified in the PARAM
tag of the object) and POST it alone with the files.
REQUIREMENTS: Most parameters of the ActiveX component should be specified
from the HTML holder file (the file where ActiveX component will be embedded)
with the PARAM tag. The complete list of parameters will be submitted to the
selected provider, and it is irrelevant to the complexity of the development.
The only parameters you should be aware of, is the list of file types seeing as
a thumbs. Here's the list:
Another one is the license key, for example:
which you DON'T have to develop. All you have to
include is a parameter accepting the license key, and then include a dummy
function in the source code, which will accept the parameter and return either
true or false. If false is returned, then the ActiveX component would display a
warning message "Incorrect License", if the true is returned, then it should
work as designed. Again, we will include the algorithm for the license key
generation into the component ourself. Due to the security issue, you will not
be working on that function. That's why the empty function should be in the
project.
Finally, the selected provider will receive a complete list of parameters that
has to be configurable through HTML. This should not be a problem for you,
because you will be using these values as a variables somewhere inside the
project anyway, so we may as well just have an option to adjust them as
necessary.
Thank you, and good luck bidding.