June 2009 - Posts
SharePoint
Development
Other stuff
My file system has one bad tumor – it is called over 6 months old My Documents. I have there a lot of stuff, it is somehow organized but it is still more like chaos. Most of these files are materials about different technologies and so on and also some business papers. Another chaos is my bookmarks collection… I thought about these files and links and suddenly I made conclusion – why not build separate SharePoint site to my company’s SharePoint server and publish all useful stuff there? I am sure that other guys have also stuff that may be interesting to others. So, here’s my first thoughts about developer info site on SharePoint server.
Information
At first let’s see what kind of information I have. Here is the list of information types I have in my different chaotic places:
- whitepapers about languages and technologies,
- training kits,
- example projects,
- presentations,
- videos,
- downloads (programs, utilities, etc),
- online content (code examples, guides etc),
- books,
- links.
Also we may have some chaotic information about solving different problems we have faced and it would be nice if we can fit also this information somewhere.
First ideas about features
Now I want to organize this information somehow so it is easy to find and manage. I put here everything that goes through my brain when I started thinking. So, don’t consider this as any accurate analysis and don’t take this list as official requirements document. These are only notes and nothing more.
Here are my first ideas.
- Content types. I need some content types for different pieces of information. My first idea is to create content types for media types – whitepaper, specification, training kit, video, etc. I thing whitepaper and specification may be also same content type, let’s say document.
- Topics list. I need some list of topics so I can assign topics to every content item I have. It makes it easier to find information we need.
- Document conversions. If we base on MOSS 2007 we can also consider automatic document conversion so Word, Excel, PDF and other documents are automatically converted to HTML documents. I’m not sure about it but may be it makes sense.
- Internal blog. Blog is simplest tool to publish information fast. Every developer should be able to use Windows Live Writer to post new content about solving different technical problems.
- Authors list. We should keep the list of authors so we can search content also by author. Also it is good if we keep some background information about authors. If there is some author I don’t know then I can click on his or her name and read more.
- Comments. We need commenting features for all content we have. It is specially good if there are some very valuable pieces of information buried deep to some documents or if there is something important mentioned in some videos. Also we need comments to warn others about mistakes that materials may contain.
- Ranking. We should be able to rank the content we have. It is good if newer guys can find high quality content faster.
- Content expiration. Each content item may have expiration date. After some time most of documents and other materials expire. New technologies and new software versions replace older ones and we don’t want to keep a large archive of relics. When something expires it will be deleted automatically.
First ideas about user interface
Usually I try to create also first picture of system I am planning. It is not exact vision of how the interface will be in the future, but it helps me find my direction and analyze the solution at common level better. Okay, here are my first thoughts about UI.
- Main page. Main page will be like dashboard. There will be short greeting text and some notes about content and then different listings: top rated content, new content, last comments, last blog entries, expiring content.
- Videos. It would be nice if it is possible to stream videos and watch them directly from site. We need also possibility to download videos if we need.
- Authors. Authors pages should contain author name, company, short bio and links to author homepage and blog.
- Commenting and ranking. There should be comments list and comment inserting box on all detail views for content items. Also we need ranking box at same places.
- Aggregated feeds. We need something that brings in popular feeds we list and this something should create aggregated feed we can show in site.
- Search results. When we search something then results should be formatted based on content type. I mean that authors and videos are shown differently.
For now, this is it. As a next thing I have to go more specific with my requirements and model the first data structures so we can think about site columns and content types.
IIS SEO Toolkit provides us besides site analysis also with sitemaps management. We can create sitemaps, sitemaps indexes, add URLs to sitemaps and sitemaps to sitemap indexes. Sitemap indexes are useful when you have more complex sitemaps structure (by example, you may have multiple sitemap files for different modules in you system).
Sitemaps management is also located on site features view under Search Engine Optimization section. Just click on the icon to open sitemaps management interface.
Sitemaps management is pretty easy. Sitemaps management interface lists sitemaps and sitemap indexes and lets you modify them through graphical user interface.
Creating sitemaps
If you are starting with unmapped site then first thing is to create sitemap. If you have only one sitemap then you don’t need sitemap index and you can name your sitemap as sitemap.xml. If you have multiple sitemaps then use informative names like products.xml and users.xml. After creating new sitemap the sitemap contents view is opened. Now you can add all URLs you need.
As you can see I am adding sitemap for site microblog. There are some interesting options for URL structure source.
- Physical location – you can browse you site’s physical file structure and add physical files to sitemap.
- Existing site analysis – URLs based on site analysis. These URLs include also dynamically created URLs (by example user profile URLs generated by ASP.NET MVC framework).
- Run new Site Analysis – same as previous one but instead of using the result of some existing analysis you start process with creating a new site analysis report.
If you need more dynamics to generate URLs list for sitemap you can read my blog entry ASP.NET Search Sitemaps - something for SEO to find out how you can extend your sitemaps system with dynamically generated sitemaps.
Now let’s see the result of our work this far. I added three files to my sitemap: default.aspx (physical location) and then /about and /login URLs (locations from existing site analysis).
Open your browser and type in the URL of your new sitemap. Hit Enter and see what is inside your sitemap. My result you can see here on the image.
You can change last modified date, priority and change frequency for all items in sitemap. Just double click on URL in sitemap contents windows and make the modifications you need.
Sitemap indexes
For more complex sites you may need sitemap indexes. You may have different modules that output their own sitemap. Also you may need multiple sitemaps if your site has subsites and you want your site hierarchy to be handled as one by search engines.
To create new sitemap index go to sitemaps and sitemaps indexes feature view (this is the same one that opens from site features view). Create some sitemaps and move back to this view. Now click “Add Sitemap Index…” and insert sitemap.xml as the name of index. Sitemaps adding window like the one on the following is opened.
Select all sitemap files you want to include to index and click OK button.
Sitemap index has name sitemap.xml because search engine spiders look for file with this name to find out if there is index created for site or not.
Let’s see the results again. We can see that sitemap index has only entries for sitemap files. In my case there are two sitemaps – pages.xml for custom pages and products.xml for products.
Last modified dates of sitemaps can be changes when clicking on sitemap entry in sitemap index contents view.
That’s the end for this time. Also read the blog entry IIS Search Engine Optimization Toolkit to find out more about IIS SEO Toolkit. If you get confused or if you have questions, suggestions or comments then feel free to drop me a line.
As new IIS SEO Toolkit is here it is time now to make some tests with it. And what can be better test material than Microsoft own produced HTML documents? Well, I have my simple and primitive training web site running on my laptop and I think ASP.NET MVC Training Kit is perfect candidate for SEO tests. So, let’s see what SEO Toolkit thinks about it.
After installing IIS SEO Toolkit, running IIS Manager and selecting some site or directory you can find a new Search Engine Optimization section from Features View. There are two icons: “Site Analysis” and “Sitemaps and Sitemap”. For sites there is also icon “Robots Exclusion”.
Site analysis types
Site Analysis icon opens site analysis reports list. You can create multiple analysis documents generated based on different settings or different times. Site analysis reports have three sections:
- Violations – information about possible SEO, content, standards and performance violations. By example: missing tags and attributes, invalid markup, link text irrelevance, warnings about too large in-page style sheets etc.
- Content – information about directory structure, content types, status codes, external links, duplicate files and duplicate titles, descriptions, keywords and different errors.
- Performance – information about slow pages and resource heavy pages.
- Links – information about pages with most links, most linked pages, robots.txt blocked pages and protocols.
Screenshots of reports
Here are some screenshots of site analysis reports. These reports base on Microsoft ASP.NET MVC Training Kit HTML-files.
IIS SEO Toolkit: Site Analysis. Violations Summary report. You can see here different
types of violations, their level and violations count.
Click on image to see it at original size.
IIS SEO Toolkit: Site Analysis. Pages with Most Violations report. Here you can see
URLs and titles of pages with their status codes and violations count.
Click on image to see it at original size.
IIS SEO Toolkit: Site Analysis. Content Types Summary report. Sum, average and max
are given in bytes. Count shows the count of files with given content type.
Click on image to see it at original size.
IIS SEO Toolkit: Site Analysis. Status Code Summary report. This report shows overview
based on HTTP status code that server returned. Sum, average and max are given in
bytes. Count shows the count of files that caused given status code.
Click on image to see it at original size.
IIS SEO Toolkit: Site Analysis. Pages with Broken Links report. Here you can see
all the pages that have broken links.
Click on image to see it at original size.
Report files
Report files are also stored to hard disk. You can find them in your Documents folder when you open IIS SEO Reports folder. Reports are put in separate subfolders. Data is located in following files:
- Results.xml – contains results of analysis.
- Settings.xml – contains report generating settings.
- Violations.xml – contains meta data about violations.
You can use these files to import reports to different working environments. You can use these files also for importing results to database or to reporting tools.
DispForm.aspx that displays detail view of list item and EditForm.aspx that displays edit view of list item are not customizable by default. You can move to these pages but there is no Edit option in Site Actions menu. But it still possible to customize these pages, add new web parts there and so on. All you need is your web browser.
- Go to DispForm.aspx or EditForm.aspx you want to customize.
- Change the query string part of URL so that query string is like this:
DispForm.aspx?ID=???&ToolPaneView=2 &PageView=Shared
??? = ID of current list item, you don’t have to change it. - Modify pages as you want and save them.
- After first modification the Edit option in Site Actions menu should also be visible now.
I found this information from somewhere but I am not able to find the original blog entry anymore. If somebody knows where it is peale let me know so I can provide link to author here.
Update. Erwin Bastiaensen thought that maybe I found this information from his blog entry Add Web Parts to DispForm, EditForm or NewForm.aspx. I think it is possible, so credits go to Erwin. :)
Microsoft training kits are pretty good things to explore when you start learning some new technology. Here are links to some training kits I found to be interesting and useful. Some of these live also in my laptop and when I have free moments I explore them to learn more about these technologies. So, the list of training kits is here:
If there are cool training kits that are not in this list then please let me know. :)
ScottGu just blogged about the new IIS SEO Toolkit that brings some new SEO features to IIS. You can download it from IIS Toolkit homepage or install it using Microsoft Web Platform Installer.
Toolkit provides you with following site analysis:
- violations like missing attributes of HTML tags,
- missing titles and descriptions,
- invalid markup,
- link text relevance,
- incorrect content types.
You can also find headers, content, links and word analysis for pages.
Now I will install IIS SEO Toolkit on my development machine and then let’s see if my optimized pages pass through toolkit analysis. :)
Today I found something weird. I tried to add some new views to my ASP.NET MVC solution but there were no ASP.NET MVC items in new items dialog. All the other ASP.NET MVC projects had no problem like this. Solution is simple.
- Close the problematic solution.
- Open .csproject file of this solution.
- In the beginning of file there is PropertyGroup block. Move to ProjectTypeGuids tag.
- Add {603c0e0b-db56-11dc-be95-000d561079b0} as first project type GUID.
- Save the file and open it using Visual Studio 2008.
Everything should work now as expected.
Visual Studio 2010 has support for multiple web.config files. It is one feature of new web application packaging and deployment system. We can create now separate web.config files for each configuration we have for application.
When web application is created then it has two configurations: Debug and Release. Visual Studio 2010 creates also two versions of web.config file as is seen on the image. Depending on active configuration correct web.config will be selected. This technique is called web.config transformation and it allows very powerful transformations of configuration files.
We can easily add new configurations and add web.config files for them right through Visual Studio 2010 IDE.
Web.config file is like template for configurations. Also you can handle it as default configuration. Configuration specific configuration files may add settings or change current ones. This is done using simple transformation tags.
Visual Studio 2010 also allows generation of web.config versions using command-line and MSBuild.
Visual Web Developer Team Blog has very good posting about web.config transformation. This posting is titled as Web Deployment: Web.Config Transformation and it gives you complete overview about transformations and packaging of web.config files.
If you want to try these things out on hosting environment then take a look at my blog entry Free ASP.NET 4.0 beta hosting available and Visual Web Developer Team Blog entry Free Web Hosting to try ASP.NET 4 Beta1, VS 2010 Beta1 and MS Web Deployment Tool RC1.
I have Windows 7 beta running on my machine. I need to change some settings of IIS WAMREG admin service. Although I am logged in as administrator and I started dcomcnfg under administrative permissions I am not able to modify security settings. What may be the problem?
Good old The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID {61738644-F196-11D0-9953-00C04FD919C1} ... error is the problem I'm trying to resolve.
Editing is not disabled for all component services. There are some services I can configure. I also checked out what’s going on with local group policy and it made me no smarter.
More Posts
« Previous page -
Next page »