Archive for October 2009
All of the sudden my commerce server business application stops working (already logged in). When I checked the event log, I found timeout exception as shown below.
|
WebException.Status=Timeout |
Since my environment is shared with other developers, I thought the error is due to some configuration changes. Any such errors, I will follow below checklist.
- Check whether the web services are working properly. If the web services opens then there is no problem in IIS.
- Check whether you have proper privileges in authorization store.
- Check connections strings are properly set.
- Check SQL server is running and the access account has proper privileges to all the databases.
Luckily I found that my web services are not working. When I close my application and open again, I found below error.
I tried to open the URL in the browser and the error is the same. Wired error and I fixed this issue just by restarting IIS.
If you like this post, please click on our sponsor advertisement.
Out of box, Commerce server provides 34 reports and you need SQL server reporting services to view them. After installing commerce server, we can find these reports in RDLs folder in commerce server installed directory (eg. C:\Program Files\Microsoft Commerce Server 2007\RDLs). They are seven types of reports available.
- Advertising reports: These reports helps us to analyze advertising data such as Ad reach and frequency by advertiser/date, Campaign event/item summary.
- Diagnostic reports: These reports helps us to analyze application diagnostic data such as bandwidth trends/summary, HTTP & win32 problems.
- Product sales: These reports helps us to analyze product sales data such as Buyer browse to purchase, customer sales, order events, product sales and shopping basket events.
- Query string: These reports helps us to analyze single value and multiple value send through url query string.
- User reports: These reports helps us to analyze entire user data. Reports include distinct users by time, new registered users, registered user properties, registered users by date registered, user days to register, use registration rate, user trends.
- Visit reports: These reports helps us to analyze visits data such as exit pages, user visit trends and general activity statistics.
- Web usage reports : These reports helps us to analyze site usage (similar but not same as web trends / Google analytics). Reports include activity by browser, directories, entry path analysis, top referring domains by request, top requested pages, usage summary by hour/day and usage trends.
By installing commerce server you will not able to see reports. For viewing them you have to following below steps.
- Adding data warehouse application to your commerce site – you can achieve this by importing DW.PUB file.
- Defining DTS import packages using Data warehouse import wizard.
- Manually/schedule a DTS import package.
- Install and running the analytical reports (you can ReportInstaller.exe tool from SQL Server command prompt).
I will blog in detail steps in coming days on how to achieve this?
If you like this post, please click on our sponsor advertisement.
Today I saw a forum post stating how can we achieve catalog search which has different sorting options on different properties, i.e., the user wants to have ascending order on one property and descending on second property at one shot. At the beginning I thought commerce server doesn’t support this feature but it does support with searchOptions (thanks for Gael). Commerce Server provides SearchOptions by which we can get search narrow down results (i.e, we can select the properties you want to return, number of rows, sort either descending or ascending, etc) in a single call.
Through SortProperty we can pass the properties name and order and make sure you keep property in [] braces. If you miss braces then you will receive “Search Failed” error. Here is the example where I am trying to fetch all products where the list price is greater than 10$ and the sorting on category name (desc), productId (asc) and variantId (desc).
|
CatalogContext context = CommerceContext.Current.CatalogSystem; // Specify the catalogs to search. // Return all items with price greater than $10.00. catalogSearch.SearchOptions = searchOptions; // Perform the search. |
If you like this post, please click on our sponsor advertisement.
Some times, when you try to load the Commerce Site you may receive an ASP.Net Warning followed by Commerce Server Error 3005. The Commerce Server Error (below) didn’t really gave me much to start with. but ASP.Net Warning shows that the error has happened at commerce server profiles:
|
Here is ASP.NET 2.0 Warning Information Event code: 3005 Process information: Exception information: Thread information: Here is Commerce Server Error
The description for Event ID ( 16389 ) in Source ( Commerce Server ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: . |
Using Commerce Server Manager I double checked and found that the connections to the database are correct, and that the application pool is running under an identity which has access to the database.
After some investigation what I found is – If you are accessing the “Internal” site using Windows Authentication, then your user account needs access to the CS databases. When I gave SQL permission to the windows account, the error is fixed. The approach you should take is to create an Active directory group for CS users, and grant it the same SQL permissions as the CSRunTime user according to the CS deployment document. The “External” site, with anonymous access, will use the App Pool account (e.g. CSRunTime) for SQL DB access. If you are attempting to access the external site, be sure to validate CSRunTime has the correct SQL DB access per the CS deployment document.
If you like this post, please click on our sponsor advertisement.
Software development effort estimation is a process of predicting most realistic efforts required to develop a product/application. The effort estimation can be passed as inputs to find schedule, budget, team structure, etc. You can opt bottom-up or top-down estimation model or function point or use case analysis estimations but finally by doing this exercise, we are coming to some realistic figures (not exact) which drives the decision of taking the project or not or negotiating scope reduction with client as per limited schedule, effort or cost. For past few years, I have been doing many projects effort estimation. In this blog post, I am trying to record few dev. units (but not limited to) to give more concentration while doing effort estimation. Trust me, all project estimates are different (some fools think all projects are same) but few of the components can be consider as same. Ecommerce application development is so volatile and difficult as client wants or expects something different than their competitors so that they can retain or get customers.
Some of the key dev. units, where efforts will be more (than expected) a special consideration to be taken in ecommerce application effort estimation.
- Efforts to incorporate Application blocks like security (Authentication & Authorization), data access, logging, exception handling, etc.
- Integration entities
- Payment
- Tax
- backend systems like ERP, CRM, etc.
If your company has any metrics then start comparing the actual efforts with these dev. units mentioned above and for most of them actual effort will exceed than planned effort.Client will not agree if you estimate more hours to these items but at the end due to external dependencies we will end up loosing schedule if not effort.
As per my knowledge & experience here are the top 10 risks any ecommerce project has and as a project manager a special attention has to be taken to mitigate them.
- Development schedule.
- Infrastructure related risks (as commerce server application interacts with different third party or backend systems).
- Resource Utilization (productivity).
- Resource Availability (As commerce server is a niche skill – it is difficult to get experience resource availability as per delivery schedule).
- Planning and monitoring (many teams, many communications and difficult for PM to manager and monitor the project).
- Requirements & Scope Stability
- Staffing Level in Key Areas (many companies follow a specific pyramid and sometimes it may not work).
- Team sprit & motivation.
- Resource ramp-up time & Knowledge transfer.
- Internal company policies (for port enablement – 2 days, security approval – 3 days, etc).
If you have any questions or suggestions, drop me an email – kanth@ravikanth.net. In future, I will be sharing some of the commerce server specific estimation techniques.
If you like this post, please click on our sponsor advertisement.
