Community Welcome Page

By: Daniel Wischnewski

Abstract: Introduction of the Community Welcome Page for the Borland Developer Studio.

    Introduction

The idea to create a community version of the Welcome Page for the Borland Developer Studio came up between a few peers and me during the development cycle of the Borland Developer Studio 2006 aka “DeXter.”

The Community Welcome Page is available for Download at Borland’s CodeCentral.

We wanted to see some features in it, that would increase its purpose more than just being a pretty space filler while no project is loaded. One of the thoughts that came up was an easy integration of web services, especially the BabelCode service provided by the Developer Relations team at Borland.

Another development goal was to integrate the official design of Borland, “DevCo” does not have that yet, and the Delphi marketing materials into the IDE, thus increasing the feeling of it being part in the whole picture.

Hide image
Click to see full-sized image

Note: this article is based on the second version of the Community Welcome Page, which has yet more features.

    The Project Features

Long known and most used is the “Recent Projects” feature of the original version as it has been part of the IDE since the Borland C#Builder 1. Often, I’ve heard that people select the project they want to work with from the Welcome Page and close it.

However, I wanted to use the Welcome Page space for other features, so I had to move this “standard feature” into the side bar. This is the place you’ll find those projects, just displaying their file name. Hover your mouse over the names to see a hint displaying their original location on your computer. If you need more information, you can load the list of the most recently used projects into the center. Here you’ll get more detailed information like personality information, a list of projects in project groups, last change date and more.

Hide image
Click to see full-sized image

As a side note: the last change date of the project is bound to the .bdsproj / .bdsgroup file associated with the entry. This date is not always updated by the IDE when the project or files related to the project is saved. Thus it might show an older date than you would expect.

A request made by the community is the “Favorite Project” list. The IDE will provide a list with the five most recent used projects only. The favorite project list let’s you define which projects you work with, most commonly. The list is not subject to this five project limitation. You can add as many projects as you like. They will be shown sorted by their file names. To add a project to this list you will have to go to the most recent list and click the link to the right of the project name.

Hide image
Click to see full-sized image

    The RSS Feed Features

The original Welcome Page has the RSS feature already built in, yet it lists Borland sources, only. I added a few more RSS feeds to this version, allowing you to access the most commonly known RSS blog sources from within the IDE. The sources can be accessed through the menu at the top right corner of the RSS viewer window.

You’ll find the original sources, as well as many more from all over the world. If you feel there is a blog missing, drop me a note using the contact form from the Welcome Page (see below).

Hide image
Click to see full-sized image

Another RSS feature is the list of all cached RSS feeds. This will allow you to get a list of all recent RSS entries. Click on the title of the blog entry to read the original article online, click on the title of the blog, to see a short version of the five most recent entries within the IDE. When you travel abroad, you hopefully like the RSS cache feature. Click the download link to connect to all sources and download them at once and read them later. The download time depends on your connection as well as availability of the RSS source servers. While it is working in the background, you may experience some IDE “freezes” during download. To cancel the download, press F5 in the Welcome Page window or click the refresh button from the toolbar.

Hide image
Click to see full-sized image

    Adding your own feeds

Currently there is no interface allowing easy manipulation of the RSS feed list. However, you can load the $(BDS)\Welcomepage\xml\ rssFeeds.xml file into the BDS or any XML editor and add as many sources as you like. Simply follow the pattern you see. A channel defines a group of related RSS feeds. The title node of the channel will be displayed as group title.

Within each channel are one or more item nodes, where each defines one RSS source. Each item has title and a link node, representing the title displayed and the RSS xml feed source, respectively.

Note: the Welcome Page will not load correctly, if the XML file is corrupted. When not using an XML editor, use the Internet Explorer to check the validity of any changed file. It will show an error message and the position of any errors as well as a short description of the problem.

    The Online Resources

    The Update Information

The original Welcome Page provides a RSS feed that will show you the current updates available. While this is a nice feature, you still have to select the feed manually and check it periodically. This version automatically checks the availability for you once a day, if you are online. It will not check the original source though, but a defined mix of the original source as well as a feed provided by me, thus relaying the BDN (Borland Developer Network) information as well as those from my DDN (Delphi Developer Notes) source. The source of the information is marked through the icons accordingly.

    The BabelCode Service

Learning developing for a new platform always gives you a hard time in the beginning. Same goes for Delphi developers diving into the MS .NET Framework platform. While there are many examples available, most of them are provided in C#, the language developed for .NET.

Borland has provided a web service that will allow you to translate C# source code into Delphi.NET source code. The Welcome Page brings this service closer to you and provides built-in support for it. Simply paste the source code you’ve found somewhere into the C# text area, click the “call web service” button and you’ll get the result below.

Hide image
Click to see full-sized image

Note: the web browser implementation does not support short cuts for copy and paste in its current implementation. Either use the context menu of the text areas or the links below to get/paste the source codes.

    The YAPP Service

New and just released: yet another pretty printer. The new YAPP web service from Borland allows you to format any source code automatically. This is an interesting feature when documenting some source code or copying it into a web page. Simply paste your source code into the upper area, call the web service and take it away.

Hide image
Click to see full-sized image

    Contacting me

If you want to contact me, report a bug or ask for a feature, fell free to do so. Directly from with the Welcome Page, you find a form that will allow you to send me your thoughts. It will not support your return key, again a problem with the implementation of the web browser, but do not let that stop you from getting in contact with me.

The request is submitted using yet another web service. I will not share your email address or name with anyone, except with permission, but ask you to send it to me so I can get in contact with you if I need to clarify upon your thoughts.

I hope you like the result of this new Welcome Page. If so, support me by email or simply voting for it. I would love to continue working on it and thus giving you more features as needed and/or wanted.

    Thanks to…

The whole project would not have been possible without the help of many friends from around the world. Especially, I would like to say thank you to the following people:

  • Albert Research for translating all those texts into Spanish.
  • Stéphane Jouanneau & Stephane Wierzbicki for providing their French translations.
  • Lasse Jari Hansen for giving us the first Danish Welcome Page ever.
  • Erick Sasse giving you all the Portuguese version of the Welcome Page.
  • Masaki Kobayasi for doing those fancy Japanese characters and providing constant updates of those.
  • John Kaster for checking on my English and moving the BabelCode and YAPP web services on a load balanced server farm. So guys, use those features, I am sure the servers are bored as it is right now. ;-)
  • Jeremy North for keeping pestering me to get the project finished and published!
  • Daniel R. Wolf for promoting the Welcome Page in his videos!

And yes, keep supporting the “DevCo” Developer Studio!

Server Response from: ETNASC01