| Profilo di ManishManish AgrawalFotoBlogElenchi | Guida |
Manish AgrawalMy Experiments with Technology... 10 marzo Mobile TV next big battlegroundLara Sinclair has written a nice article named - Mobile TV next big battleground
Article covers the trends and gives excellent projections of and about mobile tv content & usage. 10 febbraio Few Sacred Songs of IndiaAe Malik Tere Bande Hum (Singer - Lata Mangeshkar) (Movie - Do Aankhen Barah Haath)
Hum Ko Maan Ki Shakti Dena (Singer - Lata)
Tu Pyar Ka Sagar hai - (Singer - Manna Dey) (Movie -Seema 1955)
Pal Pal Hai Bhari (Movie - Swadesh) 19 novembre Build important management and leadership abilities...MSDN® Success Builder, a unique and free resource to help software professionals build important management and leadership abilities.
You can find some incredibly valuable courseware (on this page) derived from common practices at Microsoft. So go on and take your pick from easy-to-absorb tip sheets to in-depth material on a topic of your interest.
07 giugno Silverlight Tutorials
07 maggio Tips for a successful team lead
Roy Oserove has given good tips for becoming a successful team lead. Believe my these tips really work, I have experienced that. More over you can share anything missing to make the post even better. Check the article here. 24 aprile Flash Control for ASP.NET 2.0 and AJAXFlashControl is an ASP.NET 2.0 server control that allow you to add Flash movies (swf files) in your aspx pages. It removes the "Click to activate and use this control" message. This control has some great features:
FlashControl is available at www.flash-control.net
To Read More goto : Flash Control for ASP.NET 2.0 and AJAX JavaScript Intellisense and Documentation in VS.NET OrcasMicrosoft's Betrand Le Roy just put together a great post on how to document JavaScript code in VS.NET Orcas. By adding documentation comments, users of your script will get nice intellisense as they type and use JavaScript classes, methods, etc. Nice stuff that we've all wanted for a long, long time. http://weblogs.asp.net/bleroy/archive/2007/04/23/the-format-for-javascript-doc-comments.aspx Wally McClure just released a video that shows what the new intellisense support looks like as well. Read More here: JavaScript Intellisense and Documentation in VS.NET Orcas 08 novembre MOSS 2007 Rocks.. and it is gonna-rock even harder.. grab it now.. or you will be no-where..I have always thought MOSS (Microsoft Office Sharepoint Server) is an excellent platform and it is definitely gonna-be future platform of almost all kind of Application development and deployment. One of the example of this is Ben Robb's & Mei Ling's post. In his blog-post Ben Robb has mentioned about Mei Ling blog-post on Commerce Server vs MOSS(showing how MOSS and Commerce Server can complement each other in provisioning an eCommerce site), also he has shown how the functionalities of CS overlap MOSS functionalities and what should be the next course of action for future versions of CS. Thanks Ben Robb and Mei Ling.. for the Excellent work. Another Example of this is yet another article of Ben Robb (Moving from design to reality - building HedKandi.com in Microsoft Office SharePoint Server 2007) hosted at ECM Team Blog. The introduction is below, the main body is here. In the past, most SharePoint developers would have run a mile when faced with an initial design brief like this: While it had been difficult in the past to brand a SharePoint-based website with the kind of flexibility that marketing departments demand for their publicly facing websites, SharePoint developers can stop running right about now. This limitation simply disappears in the 2007 version of SharePoint with the support for ASP.NET 2.0 Master Pages technology. So, how did we go about creating a site with SharePoint that looks nothing like a typical SharePoint site? Surprisingly, it didn’t involve lots of C# code or editing files we really weren’t supposed to be. We actually made use of a lot of out of the box controls, and in the main used XHTML, CSS and XSLT to achieve the output that our client required. To read the full article - go to the ECM Team Blog: http://blogs.msdn.com/ecm/archive/2006/09/30/777819.aspx Steve Ballmer LIVE at indiMix '06. Be there!Make sure you are there! No matter how Physically or Virtually.. Management and Delegation of ASP.NET.. nice article by Jeff ToewsJeff Toews has written an excellent article on Management and Delegation of ASP.NET. To view the article Click here. In this article he has presented some configuration tips on proper Configuration of ASP.NET. 26 settembre Common Excel formulas: Quickly add formulas to your Excel worksheets..
There is a good wealth of Common formulas available which can be used in Excel. To access the link Click here. 25 settembre How to use Subversion more effectively with proper Repository Structure and better use of Branching/Tagging/Versioning..
In this article, I have assumed that the reader is aware of the basic functionality of Subversion. This article has been written to make the usage of Subversion more efficient and more effective, as not much information is available on this subject in contrast to Subversion. Although most of the things are already mentioned in the Subversion Documentation, but going through such vast information in one go becomes something uncommon. So it is good to have small articles targetting a specific feature which can expose the functionality and will get the attention. Without even any extra effort it gets feeded in mind, making understanding of the subject better. I installed Subversion and started using it, but I started getting problems in maintenance when the code base spreaded and required maintenance of multiple versions. To find the solution I studied the documentation available, to use Subversion(SVN) more effectively. One of the important things I read was about "What should be the ideal Repository Structure": So lets understand the options available:
Figure 1: Example of a Subversion Repository Structure (expanded). Branching or Tagging done by Subversion are just internal links (cheap copies) pointing to a specific tree/revision and thus can be created very quickly and also take up almost no extra space in the repository. If you modify a working copy created from a branch and commit , then all changes go to the new branch and not to the trunk. Only the modifications are stored and the rest remains a cheap copy. Many times it may happen that you need to make further changes to a release which has been already tagged. The correct way to handle this is to create a new branch from the tag first and commit the branch. Make Changes on this branch and tag the branch for every build with increment in the Revision number. So finally "What should be the ideal Repository Structure"
How to make the Repository Structure:
If you need to make further changes to a release which has been already tagged, following steps must be followed:
For e.g. Suppose you need to make further changes to a release tagged "v1_0_60924_0". Steps will be as under:
** Branch name v1_0_X dissected: "v" represents the word "Version", "1" is Major, "0" is Minor and "X" is to indicate that along with the changes (or during the Build process) Tags will be created with dynamic Build and Revision numbers, for e.g. "v1_0_60923_0" here 60923 is the Build Number which represents the date of build (6 is the year 2006, 09 is the Month and 23 is the Date), after Build Number there comes the Revision Number which will get incremented with every next build during the day. *** In case of already tagged release Branch name used is "v1_0_60924_X" because for further builds on this Branch only revision number will get incremented. Mostly this happens when a Build is released or finalized to be released, then for bug-fixes and patches to be release the Build number is freezed and only Revision number changes. 12 settembre Steps of Installing MOSS 2007
25 agosto MySQL5 C# sample using ObjectDataSources
Although MS SQL Server Express Edition is a very advanced database and is also free, there is no big reason to move to MySQL 5 now, but still if you have to access databases which are on MySQL 5 you find difficulty in using it with the ObjectDataSources approach. Michael Washington has written an excellent article on how MySQL 5 can be used with ObjectDataSources in ASP.NET 2.0. 23 agosto 1 Year of Blogging..Time passes so fast, I didn't even realized it is now 1 year since I started blogging, it seems as if I just started few weeks back.. My experience with blogging has been very good and I would like to recommend everyone to do blogging. It not only helps you to recall things but also helps in many other ways like:
Blogging is done for multiple reasons, some do it to log their experience, some do it for announcing their work/achievements/problems, some of the bloggers like to become announcers (I would like to call them Blog Jockeys) of What new has arrived in.., some do it for the help of the community.. and many many more reasons. For me blogging is to log my experience with complete focus on technology and may be this is the reason I have not posted too many posts. In last 18 months, I got a very good opportunity to explore new tools and technology (Thanks to my Project Manager Mr. Sharad Kumar). Working on ASP.NET 2.0 right from it's CTP releases, Generics, C# 2.0, VB.Net 2005, MS SQL Server 2005, MS SQL Reporting Services, IISReport Pack, FxCop, CruiseControl.Net, NAnt, MSBuild, NDoc, AJAX, ATLAS, Sharepoint v2.0, Sharepoint v3.0 and many many more.. Links of some of my good posts in last 1 Year: -- Microsoft must take my services to make MSBuild more complete.. rather more featurefull.. ;) Appreciated by Niel Enns (Lead Program Manager, MSBuild Team, Microsoft) for a smart solution & detailed description.. -- Sleep Task implementation for MSBuild -- How To: Install the Subversion HTTP Module/Server/Client on Windows -- How to Setup Reporting Services What I will be interested in blogging next: -- IIS Report Pack Optimization -- How to do effective Project Management (so many tools are there at your service) -- Sharepoint 3.0 and MOSS 2007 -- Workflows -- And many many more things..
Happy Blogging.. ;) Knowledge increases by sharing.. Trust me.. If you have not started blogging yet, Start it ASAP.. 21 agosto Google shows different results in different browsers..Lately when I was searching something on Google I came accross something very surprising, i.e. I was getting different results from the same search engine in different browsers, I have both Firefox (FF) and Internet Explorer (IE) and I generally keep an instance of both open.. For example if I search for my name on FF and IE, I get results in different order and even the total number of results also differ.. As it can be seen in the below picture that in FF my weblog is coming at the top :) but in IE it is coming at the third rank :(
I don't really know why this is happening and whether it is intentionally done by Google or it is a bug, but since the search engine is the same ideally it should show similar results irrespective of browsers.. It would be great, if anybody can give me the valid reason behind this.. ;) 16 agosto Microsoft Releases Windows Live Writer..Windows Live Writer was released last Friday. I am writting this post using the tool. It is a desktop application that provides a really nice editing environment for writing blog posts (spell checker, layout manager, offline editing support, etc). It can be used not only with Live Spaces but also with many other server blogs. Eric Cherng has put together a really nice Windows Live Writer walkthrough that shows off how to install and use it to write your first blog post. You can checkout his post on how to-do this here. Cool tools.. Great Stuff.. Microsoft is really becoming Lively.. 13 agosto ASP.NET 2.0 page life cycle2 years back I came across a very good diagram of ASP.Net Page LifeCycle, which I lost. I tried to find it again many times but couldn't find. Luckily today, I found the updated version of the Diagram (i.e. for ASP.Net 2.0), thanks to Kris van der Mast who posted it on his blog. He has given All credits to the original designer of the diagram: Léon Andrianarivony, but equal amount of credit goes to him as well.
14 giugno How To: Install the Subversion HTTP Module/Server/Client on Windows
For Server machine: Go to the Apache download page and download the version (apache_2.0.54-win32-x86-no_ssl.msi) of Apache web server. I tried downloading some latest versions also but faced few issues in installation, so I continued with version 2.0.54. Go to the Svn1ClickSetup download page and download the latest version. As of the writing of this article it is 1.3.2.
For Client machine/s: It will be sufficient to just install Tortoise SVN Client, it can be downloaded from TortoiseSVN Page. As of the writing of this article latest version was 1.3.4
Run the Svn1ClickSetup executable (Svn1ClickSetup-1.3.2.exe) downloaded in the previous step. All the installation locations mentioned in this article are assumed to be default locations.
Note: Svn1ClickSetup installs a Subversion service, if you don’t want to be running this service, open a command prompt, and run the following command:
svnservice -remove
Run the TortoiseSVN Setup executable (TortoiseSVN-1.3.4.6692-svn-1.3.2.msi) downloaded in the previous step. Note: If you are working on VS.Net with Web Projects, it is recommended to select ASP.Net Hack on the Custom Setup step of the installation wizard. Although I have not explored consequences of not selecting it but it is hardly of any harm, as it not even takes 1 kb of your hard disk space.
Run the Apache installer (apache_2.0.54-win32-x86-no_ssl.msi) that you downloaded. It is pretty simple to install. Once the installation finishes, launch a web browser, and browse to http://localhost. If you see a test page from Apache, the server is installed correctly. Note: If port 80 is already occupied, you will have to stop the Webserver on which it is running or you will have to stop that WebSite. As Apache installation wizard gives not enough options of setting port while installation. Later you can change the default port (which I recommend) in the httpd.conf file located in C:\Program Files\Apache Group\Apache2\conf folder. You will have to make changes at two places, firstly search for word Listen and replace 80 with your desired port number for example 8181
Listen 8181
Secondly search for ServerName and replace :80 with your desired port number.
ServerName yourdomain.com:8181 You will have to restart Apache and now you can launch a web browser, and browse to http://localhost:8181/
Note: Now don’t forget to restart the Webserver or WebSite, which you mayhave stopped.
The first thing we need to do is make sure that Apache loads the WebDav modules. The Apache config file (httpd.conf) is located in the C:\Program Files\Apache Group\Apache2\ conf directory. Launch a text editor, and open the Apache config file. You will want to keep this file open for the rest of the installation.
Copy the Subversion HTTP modules: Program Files\Subversion\bin\mod_dav_svn.so Program Files\Subversion\bin\mod_authz_svn.so into the Apache modules directory (Program Files\Apache Group\Apache2\Modules).
In the config file, look for a section of lines that all start with LoadModule. At the end of that section, add the following lines: LoadModule dav_module modules/mod_dav.so LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so
At this point, restart the Apache2 service (Control Panel > Administrative Tools > Services). You will probably want to keep the Services window open (we will be restarting Apache several more times). If it restarts with no errors, Apache is now loading the SVN module.
Back in the Apache config file, add the following to the end of the file: <Location /repos> DAV svn SVNPath "C:\svnrepos"</Location> Restart Apache2 again. You can now access your repository via HTTP.
Νote: There are several different ways to configure authorization for Subversion, but in this article only basic authorization is mentioned. Basic authorization sends the passwords in near plain-text, so if you are concerned with password snooping, you will have to use a different authorization scheme.
Now, we can browse our repository via HTTP. Not only that, but we can also check-out, modify, and commit changes. However, none of these operations require any type of authorization. Not exactly what we want, especially if we are going to have multiple users.
To enable authorization, we need to tell Apache who the authorized users are. To do this, we give Apache a file with a list of the authorized users and their passwords. Apache makes this job easy by providing a utility to mange the user file, htpasswd.
Let’s go ahead and create our user file with the users Tom and Jerry. We are going to put our file in the Apache conf directory, so open a command prompt to that directory (C:\Program Files\Apache Group\Apache2\conf). Type the following command, and then enter a password for Tom. C:\Program Files\Apache Group\Apache2\bin\htpasswd -cm svn-auth-file Tom Now type the following command to add Jerry to the file. C:\Program Files\Apache Group\Apache2\bin\htpasswd -m svn-auth-file Jerry Note: There is difference between these two commands. The first command passes in the -c command, which tells htpasswd to create the file. The second time, the file already exists, so just -m command is enough. The second command can be used to add additional users to the file. In the svn-auth-file entries for both Tom and Jerry can be seen.
Now that authorization file is created, some Apache configuration is also required. Go back to the Location tag that we added to the Apache config file. And add some more lines to it so that it looks like this
<Location /repos> DAV svn SVNPath "C:\svnrepos" AuthType Basic AuthName "Subversion repository" AuthUserFile "C:\Program Files\Apache Group\Apache2\conf\svn-auth-file" Require valid-user</Location> After restarting Apache2 once again, browse to your repository again. This time, you will be prompted for a user name and password. Cool, we have authorization working. However, if you don’t want to be prompted for a user name unless modifying the repository, you are not quite finished yet.
Thankfully, only requiring authorization for modifications is really easy. All you have to do is add a couple more lines to the location tag so that it looks like this
<Location /repos> DAV svn SVNPath "C:\svnrepos" AuthType Basic AuthName "Subversion repository" AuthUserFile "C:\Program Files\Apache Group\Apache2\conf\svn-auth-file" <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept></Location> One last restart of Apache2 and you now have the Subversion HTTP module installed, configured, and ready to control our revisions.
I have modified Brian Kohr’s article as I felt it was missing few things. I hope it will be of help and will be taken in the right spirit. 17 maggio Remove Previous Versions Property of MSI Setup in .NetMSI Setup provides lots of custom actions and options to make Installation Setup/Package extremely customizable and easy to create.
Today I came across a requirement in my project, that the MSI setup should prompt to remove previous installed version of the application before new installation.
But after looking around for some properties and options of the Setup project, to my surprise there was no direct property available in the property pages of the MSI project.
It seems Visual Studio team missed to add the property to the Property Pages where as it is available if you select the project by clicking it in the Solution Explorer and then view it's properties by pressing F4 function key. Here you can see the RemovePreviousVersions property. Set it to true thats it.
Now the new MSI, which will get created will not install the application, if there is any previous Version of the application is installed on the machine.
Note: You will have to change the Version No. (Major, Minor, Build or Revision) to make it work. 05 maggio Walkthrough: Deploying a ClickOnce Application Manually.NET Framework Developer's Guide
Walkthrough: Deploying a ClickOnce Application Manually
This walkthrough describes the steps required to create a full ClickOnce deployment using the command-line or graphical version of the Manifest Generation and Editing tool (Mage). If you do not use Visual Studio regularly, need to automate the deployment process, or need to use advanced deployment features such as Trusted Application Deployment, you should use the Mage.exe command-line tool to create your ClickOnce manifests. The following walkthrough takes you through all of the steps required to generate a full ClickOnce deployment using either the command-line version (Mage.exe) or the Windows Forms version (MageUI.exe) of the Manifest Generation and Editing Tool. Prerequisites
This walkthrough was written under the assumption that you have a Windows Forms application that you are ready to deploy; this application will be referred to as WindowsFormsApp1. You also must install the .NET Framework Software Development Kit (SDK). There are a number of issues you need to decide before building a deployment. First and foremost is how you will distribute the deployment: Over the Web, from a file share, or installed off of a CD. For more information, see ClickOnce Deployment Overview. Next, you need to determine whether your application will run at an elevated level of trust. As discussed in Trusted Application Deployment Overview, by default ClickOnce applications will run in a partially trusted zone, with their exact permissions determined by whether they are hosted on an intranet or off of the Internet. If an application needs to access data on the client computer, talk to local devices, call Windows API functions, or perform other potentially dangerous operations, it will need to assert a higher level of trust. If your application requires Full Trust—for example, full access to the user's system—you can use Mage.exe to set this easily. If you want to define a custom permission set for your application, you can copy the Internet or intranet permission section from another manifest, modify it to suit your needs, and add it to the application manifest using either a text editor or MageUI.exe. The two methods for asserting higher trust in a ClickOnce manifest are Permission Elevation and Trusted Application Deployment. In both cases, your deployment must be signed with an Authenticode certificate either generated using the MakeCert.exe tool or obtained from a Certificate Authority (CA). If you choose to use Trusted Application Deployment, you must also perform a one-time installation of the certificate onto all client computers. For more information, see Trusted Application Deployment Overview.
To deploy an application with the Mage.exe command-line tool
Deploying the application with the MageUI.exe Graphical Tool
Next Steps
When you need to deploy a new version of the application, you will need to create a new directory named after the new version—for example, 1.1.0.0—and move the new application files into a \bin folder in that new directory. You should generate a new application manifest and store it in the new directory, and have the publisher sign the new manifest. Once you get the signed manifest back, you can use Mage.exe to update the deployment manifest and point it at the new application manifest: mage -Update WindowsFormsApp1.application -Version 1.1.0.0 -AppManifest 1.1.0.0\WindowsFormsApp1.exe.manifest MageUI.exe users can perform the same operation by opening up their deployment manifest, selecting the Application Reference tab, and selecting the Select Manifest button again. After updating the application manifest reference, you will need to re-sign the deployment manifest, because changing a manifest in any way invalidates its digital signature. See Also
ReferenceManifest Generation and Editing Tool (Mage.exe)
Manifest Generation and Editing Tool, Graphical Client (MageUI.exe) ClickOnce Deployment Manifest ClickOnce Application Manifest ConceptsLink
=============================================
Deploying .NET Framework Applications.NET Framework Developer's Guide
Deploying .NET Framework Applications
The .NET Framework provides a number of basic features that make it easier to deploy a variety of applications. This section briefly describes those features and provides information about packaging and distributing applications with the .NET Framework. In This Section
Related Sections
Link: ========================================= 17 marzo Reinvention of IIS Report Pack..While working on MS SQL Reporting Services, I came accross IIS Report Pack a set of 12 Sample Reports for Reporting Services.
The Microsoft SQL Server Report Pack for Internet Information Services (IIS) is a set of 12 Microsoft SQL Server 2000 Reporting Services reports that works with a sample database of information extracted from Microsoft Internet Information Services (IIS) log files.
This database can be populated with your own data using the Log Parser included with the IIS 6.0 Resource Kit. You can use also the sample reports as templates for designing new reports. Although the sample reports are really good in UI and concept, but it lacks the scalability to even support a small scale (low traffic) websites logs.
For this, it requires major changes at the DB level as well as in the Report Definition Files. Since designing of MIS Reports is one of my favorite works, from the time I designed & developed MIS Reports for the India's number one SMS Service ( 8888 of Indiatimes/Times Of India ) which receives around 2 million messages a day..
I decided to make the Report Pack more scalable and usable.
I hope someone from Microsoft reads this post ;) |
|
||||||||
|
|