Author Archive

Build your webparts with NAnt

Wednesday, July 27th, 2005

Well, first post for a long time now …

 

Following this post of my co-officer Renaud (himself following this one from Mads Nissen), I looked for a better way to build the CAB file, because I'm not an addict of his javascript hack. I thought it was possible, and I did.

 

The main problem when building the CAB file is how to generate the DDF file. How to get the content files of the project ? Of course by reading the CSPROJ file (nothing else than an XML file).

But the task can only get a single value, not a list of values. And more than one project have more than one content file. So, before coding a new task (not a bad thing to learn by the way), I googled a little bit of my time and found this post on the Serge's blog, inspired of this Richard Case post.

 

That's the solution : use task to get all file refs from CSPROJ file and write the ddf file accordingly. So :

 

  1. Create a temp directory
  2. Generate the DDF header lines in a file that you store in the temp dir with task <echo>, using attribute file. To change destination directory for the CAB file, change the .Set DiskDirectory1 parameter. Example : .Set DiskDirectory1=${project::get-base-directory()}/${build.dir}
  3. Get the compiled assembly (using <xmlpeek> task to get name and build location for the assembly from the CSPROJ ? Why not …), copy them into the temp directory and add the file name in the DDF file (use append attribute for task <echo> to avoid overwrite in the file).
  4. Use <xmllist> with xpath="//VisualStudioProject/CSHARP/Files/Include/File[@BuildAction='Content']/@RelPath", iterate in the list with the task <foreach> (delim="," if you didn't specify anything in the task <xmllist>), copy the corresponding file in the temp directory and add it to the DDF file.
  5. Now execute the makecab.exe with the task <exec> (using workingdir attribute can help).
  6. Delete the temp dir

 

It does the job. NAnt and community power ! Enjoy !

 

Note : A little bit of light info about the DDF file here.

 

Updated : This example may help.

Build your webparts with NAnt

Wednesday, July 27th, 2005

Well, first post for a long time now …

 

Following this post of my co-officer Renaud (himself following this one from Mads Nissen), I looked for a better way to build the CAB file, because I'm not an addict of his javascript hack. I thought it was possible, and I did.

 

The main problem when building the CAB file is how to generate the DDF file. How to get the content files of the project ? Of course by reading the CSPROJ file (nothing else than an XML file).

But the task can only get a single value, not a list of values. And more than one project have more than one content file. So, before coding a new task (not a bad thing to learn by the way), I googled a little bit of my time and found this post on the Serge's blog, inspired of this Richard Case post.

 

That's the solution : use task to get all file refs from CSPROJ file and write the ddf file accordingly. So :

 

  1. Create a temp directory
  2. Generate the DDF header lines in a file that you store in the temp dir with task <echo>, using attribute file. To change destination directory for the CAB file, change the .Set DiskDirectory1 parameter. Example : .Set DiskDirectory1=${project::get-base-directory()}/${build.dir}
  3. Get the compiled assembly (using <xmlpeek> task to get name and build location for the assembly from the CSPROJ ? Why not …), copy them into the temp directory and add the file name in the DDF file (use append attribute for task <echo> to avoid overwrite in the file).
  4. Use <xmllist> with xpath="//VisualStudioProject/CSHARP/Files/Include/File[@BuildAction='Content']/@RelPath", iterate in the list with the task <foreach> (delim="," if you didn't specify anything in the task <xmllist>), copy the corresponding file in the temp directory and add it to the DDF file.
  5. Now execute the makecab.exe with the task <exec> (using workingdir attribute can help).
  6. Delete the temp dir

 

It does the job. NAnt and community power ! Enjoy !

 

Note : A little bit of light info about the DDF file here.

 

Updated : This example may help.

Quality is invisible …

Thursday, November 4th, 2004

From the last post of Erol, an interresting checklist for webpart developpers here.

Quality is invisible …

Thursday, November 4th, 2004

From the last post of Erol, an interresting checklist for webpart developpers here.

Where is the sun ? (or where to find the european weather)

Thursday, November 4th, 2004

I spent some time yesterday looking for a weather webservice in order to develop a webpart that shows forecasts … and I have to say that United States are well desserved, but Europe seems late.

I found mainlyÿ3 webservices :

  • capscienceÿ: get the current weather report (with aÿlittle delay), but only the current (no forecasts).
  • ejse.com : get the current weather and forecasts (until 9 days !)ÿeverywhere in the United States (according to the zip code)ÿor the current weather in … Iraq !!
  • NOAA : get complete weather conditions and forecasts, with icons ! Just input the latitude and negative west longitude and it gives you what you need … if you are in the United States. Nothing is said if forecasts are right for european locations … (Note that you can get weather by an RSS feed !)

So, I think I'll have to look through the window and write my webpart with what I see :-) And imagine for the following days … Seriously, if you know that NOAA data are valid all around the world, or if you know another weather webservice (in Europe ?!), please let me know as a comment to this post, I'll test and update the list !

Where is the sun ? (or where to find the european weather)

Thursday, November 4th, 2004

I spent some time yesterday looking for a weather webservice in order to develop a webpart that shows forecasts … and I have to say that United States are well desserved, but Europe seems late.

I found mainlyÿ3 webservices :

  • capscienceÿ: get the current weather report (with aÿlittle delay), but only the current (no forecasts).
  • ejse.com : get the current weather and forecasts (until 9 days !)ÿeverywhere in the United States (according to the zip code)ÿor the current weather in … Iraq !!
  • NOAA : get complete weather conditions and forecasts, with icons ! Just input the latitude and negative west longitude and it gives you what you need … if you are in the United States. Nothing is said if forecasts are right for european locations … (Note that you can get weather by an RSS feed !)

So, I think I'll have to look through the window and write my webpart with what I see :-) And imagine for the following days … Seriously, if you know that NOAA data are valid all around the world, or if you know another weather webservice (in Europe ?!), please let me know as a comment to this post, I'll test and update the list !

Do you read French ?

Monday, November 1st, 2004

Written for SharePoint addicts that can read French.
I was proud to be a co-writer of this book, and thanks Erol for having invited me ! It has been good experience.

Title : Microsoft SharePoint Portal Server 2003 et WSS au quotidien
Authors : Erol Giraudy and its team : Erwann Bizeray, Renaud Comte, Hammou Fadili, Bernard Fedotoff, Benoit Hamet, Yves-Jacques Lamotte, Etienne Legendre, Frédéric Manson, Christophe Metral, Martine Robert.
Price : 55€
Where to buy : ESKA, AMAZON.FR, FNAC.COM … and surely many others.

Official website (in French of course) : MySPS.info

Do you read French ?

Monday, November 1st, 2004

Written for SharePoint addicts that can read French.
I was proud to be a co-writer of this book, and thanks Erol for having invited me ! It has been good experience.

Title : Microsoft SharePoint Portal Server 2003 et WSS au quotidien
Authors : Erol Giraudy and its team : Erwann Bizeray, Renaud Comte, Hammou Fadili, Bernard Fedotoff, Benoit Hamet, Yves-Jacques Lamotte, Etienne Legendre, Frédéric Manson, Christophe Metral, Martine Robert.
Price : 55€
Where to buy : ESKA, AMAZON.FR, FNAC.COM … and surely many others.

Official website (in French of course) : MySPS.info

IFilter back too !

Tuesday, October 26th, 2004

The new Adobe PDF Ifilter is out since last week : find it here !

IFilter back too !

Tuesday, October 26th, 2004

The new Adobe PDF Ifilter is out since last week : find it here !