Hi there!
I released IZWebFileManager 2.6.2 which has two new features:
1. Now is goes with French translation - thanks a lot to Cédric Mousset who did it.
2. New property EnableContextMenu. I was asked about this at forum: http://www.izwebfilemanager.com/forums/thread/591.aspx
You may disable context menu in the file list by setting this property false (it is true by default)
Disabling the context menu will not automatically prevent an actions (such delete file or create new folder). It affects UI only. If you need to disable/cancel an action you have to handle proper event (for example SelectedItemsAction of NewFolderCreating) and cancel the action by setting Cancel=true of event argument.
The release is available for download from Google Code
https://code.google.com/p/izwebfilemanager/
Friday, October 22, 2010
Sunday, August 8, 2010
IZWebFileManager 2.6.1 release is out
I am very happy to announce that IZWebFileManager 2.6.1 has been released.
The main feature of this release is support of applications running in "Medium Trust" environment.
I added following <trust level="Medium"></trust> directive in Demo's web.config to enforce security restrictions when you run it.
The release is available for download from Google Code
https://code.google.com/p/izwebfilemanager/
The main feature of this release is support of applications running in "Medium Trust" environment.
I added following <trust level="Medium"></trust> directive in Demo's web.config to enforce security restrictions when you run it.
The release is available for download from Google Code
https://code.google.com/p/izwebfilemanager/
Wednesday, August 4, 2010
Running ASP+MySql on 64-bit Windows 7
I have a legacy ASP 3.0 application working with MySql 4 database via MySql ODBC 3.51 connector.
Currently it runs on Windows 2003 server (32-bit, IIS 6.0). Everything works fine.
Recently I was asked to make some changes in the application and I had to setup developing environment. Last time I did such setup it was 32-bit Windows XP and I had no problem. But time went by and today I am working with 64-bit Windows 7.
I started as usual by installing MySql ODBC 3.51 connector. Install ran smoothly and my next step was to configure proper data source in "ODBC Data Source Administrator" dialog box (Control Panel > Administrative Tools > Data Sources (ODBC)). But to my surprise opened dialog did not list MySql ODBC driver, so I was not able to configure it. Reinstalling the driver did not bring success. What's wrong I did?!?!
After searching internet (thanks Google) I found solution: "To manage a data source that connects to a 32-bit driver under 64-bit platform, use c:\windows\sysWOW64\odbcad32.exe. To manage a data source that connects to a 64-bit driver, use c:\windows\system32\odbcad32.exe." Can you imagine that?
I ran c:\windows\sysWOW64\odbcad32.exe and got the same "ODBC Data Source Administrator" dialog box but now with ability to configure my data source.
Next step was to set up IIS 7.0 to run ASP 3.0 application. It was relatively easy so I will omit the details.
At this step I was pretty sure that my application will run properly, but the first request returns error: "The specified DSN contains an architecture mismatch between the Driver and Application". The same question - What's wrong I did?!?!
Searching again (What would we do without Google?) . Luckily I am not only one who has such a problem. The solution is to configure web application to run in a 32-bit application pool. There is no direct way to run a 32-bit in-process components from a 64-bit application pool.
Now I got my application runs!
Currently it runs on Windows 2003 server (32-bit, IIS 6.0). Everything works fine.
Recently I was asked to make some changes in the application and I had to setup developing environment. Last time I did such setup it was 32-bit Windows XP and I had no problem. But time went by and today I am working with 64-bit Windows 7.
I started as usual by installing MySql ODBC 3.51 connector. Install ran smoothly and my next step was to configure proper data source in "ODBC Data Source Administrator" dialog box (Control Panel > Administrative Tools > Data Sources (ODBC)). But to my surprise opened dialog did not list MySql ODBC driver, so I was not able to configure it. Reinstalling the driver did not bring success. What's wrong I did?!?!
After searching internet (thanks Google) I found solution: "To manage a data source that connects to a 32-bit driver under 64-bit platform, use c:\windows\sysWOW64\odbcad32.exe. To manage a data source that connects to a 64-bit driver, use c:\windows\system32\odbcad32.exe." Can you imagine that?
I ran c:\windows\sysWOW64\odbcad32.exe and got the same "ODBC Data Source Administrator" dialog box but now with ability to configure my data source.
Next step was to set up IIS 7.0 to run ASP 3.0 application. It was relatively easy so I will omit the details.
At this step I was pretty sure that my application will run properly, but the first request returns error: "The specified DSN contains an architecture mismatch between the Driver and Application". The same question - What's wrong I did?!?!
Searching again (What would we do without Google?) . Luckily I am not only one who has such a problem. The solution is to configure web application to run in a 32-bit application pool. There is no direct way to run a 32-bit in-process components from a 64-bit application pool.
Now I got my application runs!
Thursday, July 29, 2010
IZWebFileManager 2.6 release is out
Welcome the new generation of IZWebFileManager - v2.6
What's new?
1. Multiple files upload.
File upload bar allows you to select more then one file to upload at once.

I added two new resource keys to support localization:
Upload_Another_File - default value "Upload Another File", text of the link bellow the browse file box.
Upload_File_Remove - default value "Remove", text of the link near to each of browse file boxes.
To enable localization of this texts just add a proper resources to WebFileManagerResource.XXX.resx suitable you locale.
2. Upgraded to VS 2010/.NET 3.5.
Since this release using of IZWebFileManager requires .NET 3.5 or higher.
The release is available for download from Google Code
https://code.google.com/p/izwebfilemanager/
What's next?
In current implementation I use reflection to access some not public API. That causes application fail when run in Medium trust environment. (http://www.izwebfilemanager.com/forums/thread/543.aspx)
So, in the next release I will solve this problem.
Thanks for support!
What's new?
1. Multiple files upload.
File upload bar allows you to select more then one file to upload at once.

I added two new resource keys to support localization:
Upload_Another_File - default value "Upload Another File", text of the link bellow the browse file box.
Upload_File_Remove - default value "Remove", text of the link near to each of browse file boxes.
To enable localization of this texts just add a proper resources to WebFileManagerResource.XXX.resx suitable you locale.
2. Upgraded to VS 2010/.NET 3.5.
Since this release using of IZWebFileManager requires .NET 3.5 or higher.
The release is available for download from Google Code
https://code.google.com/p/izwebfilemanager/
What's next?
In current implementation I use reflection to access some not public API. That causes application fail when run in Medium trust environment. (http://www.izwebfilemanager.com/forums/thread/543.aspx)
So, in the next release I will solve this problem.
Thanks for support!
Thursday, July 22, 2010
HtmlTextWriter fluent interface
When working on new features in IZWebFileManager I needed to change rendered HTML.
I took a look at the code I wrote more then 3 years ago.... It is so complicated!
IZWebFileManager is a typical custom control that overrides Render and uses HtmlTextWriter's API to produce HTML. Here is a small part of the rendering flow:

It took me a while to figure out what is HTML is rendered here.
The fact is, that HtmlTextWriter's API is not intuitive and requires a lot of effort to produce relatively simple HTML. Is there a alternative way to render output?
WhenLINQ has been released all the .NET world has met fluent APIs, and I was wandering if there is such an API for rendering ASP.NET controls.
I found this one: http://csharpfeeds.com/post/9989/HtmlTextWriter_fluent_interface.aspx
I've just added it to my project (made it internal to prevent collisions), changed it a bit and rewrote the code above:

Now it is much easier to change the rendered HTML, because this code flow is much closer to the HTML markup flow, than when it was written using the "classic" HtmlTextWriter API.
I took a look at the code I wrote more then 3 years ago.... It is so complicated!
IZWebFileManager is a typical custom control that overrides Render and uses HtmlTextWriter's API to produce HTML. Here is a small part of the rendering flow:

It took me a while to figure out what is HTML is rendered here.
The fact is, that HtmlTextWriter's API is not intuitive and requires a lot of effort to produce relatively simple HTML. Is there a alternative way to render output?
WhenLINQ has been released all the .NET world has met fluent APIs, and I was wandering if there is such an API for rendering ASP.NET controls.
I found this one: http://csharpfeeds.com/post/9989/HtmlTextWriter_fluent_interface.aspx
I've just added it to my project (made it internal to prevent collisions), changed it a bit and rewrote the code above:

Now it is much easier to change the rendered HTML, because this code flow is much closer to the HTML markup flow, than when it was written using the "classic" HtmlTextWriter API.
Wednesday, June 30, 2010
IZWebFileManager 2.5.4 release is out
I am very happy to announce that IZWebFileManager 2.5.4 has been released.
From now (and forever) it supports Chrome, Safari and Opera browsers.
You are welcome to try it using online demo:
http://www.izwebfilemanager.com/demo/default.aspx
The release is available for download from Google Code
https://code.google.com/p/izwebfilemanager/
Cheers!
From now (and forever) it supports Chrome, Safari and Opera browsers.
You are welcome to try it using online demo:
http://www.izwebfilemanager.com/demo/default.aspx
The release is available for download from Google Code
https://code.google.com/p/izwebfilemanager/
Cheers!
Wednesday, June 2, 2010
Build .NET Project with NAnt
Since NAnt comes with NAnt 0.90 release I was interested to use it with my project IZWebFileManage.
At first look it is powerful tool allows me easy to build project, run tests and package release.
The first task was"build" of course.
For such purpose NAnt offers <csc> task, but using this task I have to declare output type, list of source files, resources etc. It is quite good if you are using Notepad or any other (not Visual Studio) IDE, but I (and I believe most of .NET developers) use Visual Studio and have *.csproj file.
Is there a way to build VS project with NAnt? Yes, you may find it in NAntContrib. It provides <msbuild> task. But problem is that NAntContrib is quite out of date. The last release is on 2006/10/15 and I am not sure it supports NAnt 0.90 and VS 2008
Is there alternative way to build *.csproj? Yes - msbuild command line!
NAnt has <exec> task which run any command line you want.
There is my Default.build file:
I place Default.build file near to *.csproj file and msbuild find it by default, so there is no need to mention name of project file explicitly.
Run build using command line:
>nant build
P.S. After a while I figured out <solution> task. Looks like that is what I need to run msbuild with NAnt. I will discover it...
At first look it is powerful tool allows me easy to build project, run tests and package release.
The first task was"build" of course.
For such purpose NAnt offers <csc>
Is there a way to build VS project with NAnt? Yes, you may find it in NAntContrib. It provides <msbuild>
Is there alternative way to build *.csproj? Yes - msbuild command line!
NAnt has <exec>
There is my Default.build file:
<?xml version="1.0" ?>
<project name="IZWebFileManager" default="build"
xmlns="http://nant.sf.net/schemas/nant.xsd">
<property name="project.config" value="Debug" />
<target name="clean">
<exec program="${framework::get-framework-directory(framework::get-target-framework())}\msbuild.exe"
commandline='/t:Clean /p:Configuration=${project.config} /p:Platform="AnyCPU" /v:n'
workingdir="." />
</target>
<target name="version">
</target>
<target name="build" depends="clean, version">
<exec program="${framework::get-framework-directory(framework::get-target-framework())}\msbuild.exe"
commandline='/t:Build /p:Configuration=${project.config} /p:Platform="AnyCPU" /v:n'
workingdir="." />
</target>
</project>
I place Default.build file near to *.csproj file and msbuild find it by default, so there is no need to mention name of project file explicitly.
Run build using command line:
>nant build
P.S. After a while I figured out <solution> task. Looks like that is what I need to run msbuild with NAnt. I will discover it...
Subscribe to:
Posts (Atom)