Archives / 2004 / January
  • Release: Excentrics World Custom Controls 1.9

    The long awaited 1.9 release of my Custom Controls has finally came, and gone.  Today I released this version that contains huge improvments over version 1.8.2, as well as 2 new controls, Accordion Panel and Empty DataGrid.  To download these controls, please visit Excentrics World

    Now, for the good stuff, the changes:

    Bread Crumb Trail:
    - Added SessionName to allow for multiple bread crumbs in a site.
    - Added Reset method to reset the crumbs, viewstate, and session.

    Calendar Popup:
    - Fixed Text not being applied to AlternateText of the Image.
    - Fixed toggling of Enabled on postbacks with DisableTextboxEntry true not allowing manual entry.
    - Fixed DropDownLists and ListBoxes not being hidden correctly if more than 1 form exists.
    - Fixed VisibleDate not being set correctly when date exceeds the lower or upper bound date.
    - Added Holiday collection, Holidays, that will allow you to add special dates or holidays.
    - Added ability to bind data to the Holidays Collection using HolidayDataSource, HolidayDataMember, and HolidayDataField
    - Added Button and Image display type.  This will not display the date to the user.
    - Added NextMonthImageUrl, PreviousMonthImageUrl, NextYearImageUrl, PreviousYearImageUrl properties to set the prev/next month and year links as images.
    - Added Reset methods to reset the date.

    Collapsable Panel:
    - Fixed OnInit method calling OnLoad method inadvertantly.
    - Fixed Collapsed being overriden by loading the view state after it has changed from a previous postback.
    - Fixed Image or Expand/Collapse text not showing when displayed on the left.
    - Fixed support for Opera based browsers.
    - Added Sliding effect for IE based browsers.
    - Added CollapsedTitleStyle for varying the style for collapsed and expanded views.
    - Added JavascriptOnToggleFunction for processing custom javascript logic when toggled.

    Faq Repeater:
    - Fixed javascript not being inserted when no data exists.
    - Fixed javascript error being displayed when no data exists.

    Masked Text Box:
    - Fixed support for Opera, AutoFillMask is disabled for Opera browsers.
    - Fixed overwriting of onfocus and onchange attributes.
    - Added IsRequired, RequiredErrorMessage, and RequiredErrorText.
    - Added ValidatorStyle for the RegEx and Required Validators.

    Multi-Text List Controls:
    - Fixed values not being bound when in a DataGrid.

    Numeric Box:
    - Fixed support for Opera browsers.
    - Added ability to accept 1 or 2 characters for the dollar sign.
    - Added RawText property that retrieves the text without any currency formatting.
    - Added PlacesBeforeDecimal to handle the number of numbers can be entered prior to the decimal point.

    Ordered List Box:
    - Added SortOrder property and Sort method.
    - Added LinkAlignment that allows you to define which side the links are located.
    - Added DisplayAsButtons that will show buttons instead of links or images.

    Time Picker:
    - Fixed Text not being applied to AlternateText of the Image.
    - Fixed SelectedTime not correct upon postback.
    - Fixed Javascript error when ShowClearTimeText=true and EnableHideDropDown=true
    - Added Button and Image type.  This will not display the time to the user.
    - Added OneMinute to the TimeInterval enumeration.
    - Added Reset methods to reset the time.


  • Plugin Release: NewsGator NNTP Plugin v0.4

    Version 0.4 of the NewsGator NNTP Plugin to allow posting to newsgroups has been released. This version includes even more tight integration with NewsGator, eliminating the need of ever configuring your authentication credentials in multiple places. An option has also been added to the configuration section, that will allow you to be prompted each time you post to a newsgroup, even if you're responding to a post. I have also added the ability to post to multiple newsgroups, and increased the error handling to be more descriptive and useful. Lastly, I've fixed a bug that displayed the headers as part of the body when viewed in Outlook Express.

    Download Now!


  • Step 1 - Place foot in mouth

    Well, after my rant on how OE doesn't support the full RFC850 spec, I did some more testing, debugging, whatever you want to call it, and determined that there was a hidden new line character appended to the end of the Message-ID which was causing the headaches. So, I guess OE was doing things right, it was just that darn extra character throwing things off. So, now would be the time to grab my foot and stick it firmly within my mouth!


  • Outlook Express Not following RFC Spec

    During my development of the NNTP plugin for NewsGator, I've come across a problem when viewing replied messages in Outlook Express. Per the RFC850 spec., if replying to a message in a newsgroup, you should add a new header named "References" that points to the Message-ID of the message being replied to. This header is then used to group messages within groups so its easier to keep track of threads.

    This is all fine and dandy, except for the fact that Outlook Express doesn't recognize the References header, or even want to use it. I realize that this header is optional, but for OE to ignore it completely and chunk the rest of the headers into the body of the message when displaying, is just crazy. Due to my assumptions that OE wasn't implementing the spec entirely, I decided to play around with it some more....and it turns out that when OE replies to messages, it never appends the "References" header. Furthermore, it seems that OE groups messages based on subject only. I've found this to be the case, as I've posted several new messages with the same header, and whatta ya know, they get grouped together.

    So, just to make sure that I wasn't crazy, I set out to find a few USENET readers. Well, all that I tested implemented the sepc properly, and grouped them based on the "References" header, and not on the subject. To me, this is a bug or an oversight by the team building Outlook Express...and I wouldn't mind if it got fixed (as well as many other people out there).


  • Plugin Release: NewsGator NNTP Plugin v0.3

    Version 0.3 of the NewsGator NNTP Plugin to allow posting to newsgroups has been released. This version includes a tight integration with NewsGator subscriptions, however password prompting is still necessary for server authentication (if required). Due to the integration, the configuration screens for servers and their newsgroups have been removed. This version also tweaked the HTML cleanup to represent messages more accurately.

    This version also includes an extension to NewsGator, that appends required information to the post when processing feeds from newsgroups. This allows for a no prompt reply (unless needing to authenticate) to the newsgroup. A big thanks goes out to Greg for his help on the extension, as I'm not an avid Outlook programmer.

    Plans for the next version include no prompting for passwords to authenticated newsgroups and a 1.0 branding of the plugin.

    Download Now!


  • Its a Scary Day.

    Why is it a scary day? Well, I just got an email with an attachment. So? Whats your point...well a few things:

    1. The email was from someone I didn't know, no biggie I get these all the time for support.
    2. No subject. Well, this isn't always a problem, since I know some users just don't know that the cursor starts at the subject line 99% of the time.
    3. The email said "test". Huh, now thats a bugger, I guess it worked?
    4. There was an attached file, a zipped one - wow someone sent me pictures?

    Well, if you haven't figured it out yet, I've finally seen something I've been dreading for the longest time, a zipped-up virus attached to an email. Why is this so important, can pass through almost all server based virus scanners scanning emails as they come across. So, as I quickly alerted my employer (which then sent out a company wide email stating roughly the same thing), I wanted to alert the community as well. Be alarmed if you receive an email from someone you don't know that has a zipped attachment...especially if the attachment contains a .pif file.

    UPDATE: CNet is reporting this virus now, be warned! (story)


  • MikeRoweSoft Settled

    Yup, thats right...its finally over. As the story describes, Mike Rowe settled for a certification course, subscription to MSDN, free trip to Developer Network Research Tech Fest, and an Xbox all for the domain name transfer to MS. MS was also kind enough to pay any expesnes incurred during this ordeal as well as helping him setup his new website - Good to see that Mke won this battle, Rock on!


  • NNTP Plugin Close to New Release

    I've been working very closely with Greg at NewsGator to integrate the NNTP Plugin more closely with NewsGator over the last few days. This morning I was able to put the integration with NewsGator subscriptions and posting, eliminating the need to setup your servers manually. Although this is close to release, I'm waiting on some more help from Greg to help when needing to authenticate to the news server. My gut feeling is that once that code is in place, I will be releasing this as v1.0. So, stay tuned for more updates.


  • .Text Request

    Something has been bugging me about .Text the last few months.  I finally felt it was time to express my thoughts, or rather a request for v.96.  What if we were able to track which blogs we made a comment on, or enable the same comment notification that a blog owner receives?  I don't know how many countless times I've had to actually try and remember whose blog I posted the comment to, and then, which entry.  It could be easily done (now when I say easy, I mean from an end users viewpoint) to have this, maybe an extra checkbox on the comments to say "Notify me when someone posts a comment".  It would work the same way as the ASP.NET forums.  How 'bout it?

    Update: CommentRSS is currently enabled and available within .Text, however NewsGator currently does not support it.


  • Plugin Release: NewsGator NNTP Plugin v0.2

    Version 0.2 of the NewsGator NNTP Plugin to allow posting to newsgroups has been released.  This version includes major UI enhancements and allows for more flexibility.  This version also includes Authentication with your NNTP server, or basic Anonymous access.  New support for setting up multiple news servers and newsgroups included, with the ability to choose your server and newsgroup upon each post.  I also tweaked the HTML cleanup so it doesn't remove any line breaks when posting.  Download and update your version now!

    Download Now


  • Plugin Release: NNTP Posting from NewsGator v0.1

    Version 0.1 of the NNTP Posting Plugin for NewsGator has been released.  This version includes basic support for replying to newsgroup posts as well as new posts to newsgroups.  Download and try this plugin out if you're looking for NNTP Posting support within NewsGator. Post improvments or bugs on this blog.

    Download Now

    A big thanks to Randy Morin with his help on the NNTP. Get Duding!


  • NNTP Posting

    I've been looking the last few days on how to use .NET to post messages to NNTP.  My intentions are to create a NNTP posting plugin for NewsGator.  My research today left me with a good tutorial and code (in C#) on how to communicate with a NNTP server...however, whenever I attempt to post to my NNTP server it errors with a "503 - Command Not Recognized" message.  I'm just wondering if anyone has successfully been able to post items to a NNTP server with .NET, as well as, does anyone have any other good resources?  I realize they're are a few 3rd party NNTP components out there (IP* Works and Active Up) but since this would be a plugin for NewsGator, I couldn't be able to utilize those.  Any help would be appreciated.

    Update: Randy (the author of the tutorial) just sent me some updated code.  In the Post() code, you shouldn't append the newsgroup, but rather just send a "POST" message.


  • First Impressions: NewsGator Online Services

    After my post yesterday, I decided I should give NewsGator Online Services a try.  When I checked out the online demo, I was thuroughly impressed with the different services they offer. I figured that it wasn't going to cost a thing since they had a 14-day free trial, so I signed up right away.  Once in, I noticed some sluggish performance, but I wrote that off as "first day jitters" and the popularity & use. 

    So, I continued only to start setting up my "Premium Content".  The short listing of these really didn't impress me, but I signed up for 5 comic strips ... well I actually did the technology first, but that was a bunch of crap.  I sure hope to see more premium content in the future.

    After the premium content, I just started playing around with the "Web Edition" ... again, a bit slow but it has sped up tremendously in the last 24 hours.  I wasn't as impressed with this side of things.  I wish that we could have more control over things like:

    • Time elapsed to retrieve new posts.
    • Deletion of individual posts, not just everything in a folder ... this doesn't make much sense.

    The "Custom Feeds" or rather, "search for this phrase in news/blogs" was something really cool, however it looks like it just uses some sites search functionality, so I got back a bunch of random things for the phrase "excentrics world".

    I have yet to use the "POP Edition" or "Mobile Edition", but I rarely want to read my blogs at home or somewhere else.  Maybe tonight I'll check out the "POP Edition" to see if its any good...the "Mobile Edition" however will have to wait for someone else, unless I want to crack out my iPaq in about a year.

    Overall impressions - its a very nice slick interface, and has very good potential.  I'm thinking the $5.95 for the Lite version may be a little steep, but if you used all the editions and had multiple computers (which I dont), it may be worth the money.  I guess the good thing is, if after 13 days I really don't like it, I can cancel my account and not get charged for anything.  What are your impressions?


  • MS Sueing for

    Microsoft has decided to sue a 17 year old Canadian boy over the domain name (story).  The boy's name is actually Mike Rowe, and he registered the domain name to host is personal website.  Back in Nov., he received an email from MS telling him to hand over the domain.  He later received another email stating they'd pay him $10 for it.  He was appalled by this and responded back that he'd sell it for $10,000.  Well, that didn't settle well, and just recently he received a nice large book on why he'd be handing over the domain name or be sued.

    So, whats the moral?  Don't argue with big companies over domain names if it somewhat infringes on their company name or a product of theirs.  That company has the right to obtain the domain name without you receiving any profits from it.  The story states, however, that MS would not win this time, but only time will tell.


  • v1.9 Beta 1 Released

    I finally got around to finishing up bugs & enhancements to my custom controls and released version 1.9 Beta to all of my Beta Testers.  I give a big THANK YOU to all of you who test my controls prior to a full release.  If you're interested in becoming a beta tester, just drop me a line

    My schedule for a public release of 1.9 is set for February 1, 2004.  During these next 2 weeks I'm going to be spending some time on the design time functionality of all my controls, hoping to better the experience for everyone.


  • NewsGator 2.0 Is Out

    The day has come where I've been waiting for about a month...the release of NewsGator 2.0. As most of you know, this is a MS Outlook plugin that integrates seamlessly with Outlook...and I can say that v2.0 is even better than 1.3. The new "NewsPage" is a lot better and more streamlined...makes reading my feeds a ton easier.

    I haven't checked out a new feature, Online Services, but they've got a 14 day trial, so I make take the plunge and see if its worth the $5 or $6 a month. Here is the changelog from 1.3 and screenshots from 2.0.


  • NSIS is Cool!

    I've successfully built my 2 installers (one for 1.0 and 1.1 frameworks), and let me tell ya, NSIS is a pretty good install script creator. With NSIS, I was finally able to do what I wanted to do:

    1. Give the user the option to not install to the GAC
    2. Give the user the ability to choose what optional components they want installed.

    All of this done without the headache of creating custom actions & trying to figure out how things work in the limited MSI Setup Packager within VS.NET. I definately suggest this free script creator as it is very, very nice, to all developers out there struggling with VS.NET's MSI Setup Installer.

    The only problem I came across, was how to install stuff to the GAC, but Martin Webrant gave me a good pointer. I also built in support for detecting the .NET framework & its versions. If you're using NSIS, or want to get started and need some pointers for installing .NET assemblies, I'd love to give ya some help and give you some of my functions.


  • New Install Package

    I've decided to abandon VS.NET's MSI package and venture out and try to use NSIS. After a bit of researching, trying different things, and searching the archives for examples, I've finally got my first install script for my custom controls. I'm starting to like NSIS, and the executable it builds for installation runs, installs, and uninstalls so much faster than the MSI that is produced from the Setup Projects. I'm still learning how to do some stuff, but if you've had some experience with installing .NET assemblies & using NSIS, drop me a line, I should would appreciate some help.


  • Received APC UPS Today

    I decided to spend a little money to ensure that my controls source code is thuroughly safe on my home server. The other week I purchased a APC BR800 and it came in today. I tell ya what, this isn't a huge monster, but it does weigh a substantial amount. I hooked it up at work just to try it out, and with no problems at all, well except for getting the battery back in after you connect it, I had it up and running and connected to my laptop & monitor.

    Without a monitor, it could support my laptop for about 80-90 minutes, but as soon as you hook that monitor up, it drops big time...down to 39 minutes...I never knew a monitor could draw so much energy. Good thing I let my monitors go to sleep after 10-20 min...saving a ton on electricity.

    Anyways, I decided to give it a power outage to see what happens. Well, it started beeping and whala!, it kicked in and supplied power...nice. Now, I just hope things go just as smoothly when I hook it up to my server tonight. So, if you're looking for a good, semi inexpensive UPS system for you home, check out UniStorage as I got this one for $140 shipped, cheapest on the internet.


  • New CodeLib Released

    I did my monthly check on CodeLib to find out that my version (5.7) was highly outdated and 6.2 was just released on 1/12. Its a good thing too, because I went from 5.6 to 5.7 and there were a TON of bugs, so I'm happy to see that they were all fixed. Ohh, and user administration is now fully functional.

    What I would like to see for this product, and it may be too much work, would be a Server/Client just like Vault, so I could install a database on my remote server and have web service access without opening up SQL Server across my router. How about it?


  • New Control: EmptyDataGrid

    With all the talk yesterday about what to do when a DataGrid receives no data, and how v2.0 of ASP.NET should handle this, I decided to sit down and see if I could implement this as a custom server control.

    Well after a few short hours, I've got a working EmptyDataGrid that inherits and extends the current DataGrid. It adds 2 new properties, EmptyDataTemplate and EmptyDataStyle. The behavior for displaying the datagrid is different depending on your data source, however. For example, if you use a DataSet/DataTable, you will see the columns at the top, and the EmptyDataTemplate as a row beneath that. However, if you use a DataReader as the data source, then you will only see the EmptyDataTemplate displayed.

    If you're extremely excited to see this in action, let me know and I can post a sample. However, this control will not be released until I release v1.9 of my control set. Though, if you're in dire need, I can create a custom assembly with only this control, just let me know.  A custom assembly has been put together, however you need to contact me to receive it.  Note that this is not an official release of the control.


  • POP3 to Exchange Possible?

    I've been given a task of researching if I can retrieve POP3 email and store it to Exchange.  Now, before you go giving me a ton of links to POP3 to Exchange products, read further.  I've already found a ton of these products, and the way we need this process to work, those products will not work.  I have, however, found a .NET component from DevMail .NET that will allow me to contact a POP3 server, download email, and save the emails as *.eml.

    Now, heres where you come in...does anyone know of any components or have any reference to source code that will give me an idea if taking that saved EML file and saving it to a directory on the exchange server will work?  Better yet, if anyone can give me an idea of the storage system behind Exchange, that would be helpful as well.


  • Empty Datagrid Support

    Paschal points out a good problem when using the Datagrid. I personally would like to see a new Template where the developer could decide if nothing is displayed or a message is displayed.  As I stated in my comments, I don't know how many times we've had to create 2 panels, 1 for showing the data, and 1 for displaying a message saying they'res no data.  How about it Microsoft?  Can this be done?


  • Decent Task List Program

    Over the past few weeks, I found it very difficult for me to keep track of all the bugs or enhancements that I wish to put in place for my next release.  So, I set out to find a (free) task list program that would suit my needs.  Well after a small Google search, I came across a Microsoft side project named TaskVision.  This server/client based program was fairly simple to setup and start using.  There are some weird quirks that I don't like, like not being able to remove projects or users as well as not having separate categories within projects.  Another thing that bugged me, was that after the installation of the client, you had to manually modify the App.config file to point to your personal server.  To me, this is a pain, and should have a configuration within the application to allow this.

    The good thing about TaskVision, is that it is open I guess if I wished to take the source and modify it to my needs, I could...though I think I should spend my time working on my next release.  Either way, its a good starter utility that uses Web Services to handle everything.  Other cool features are the ability to go “Offline” if need be...which is something else I wanted since I develop on my laptop with no internet connection sometimes.

    So, if you're looking for a good free task list program, I suggest using TaskVision.


  • Left Lane Law Crazy?

    For those of you who do not live in Illinois, this may be of no concern to you, but I do have a crazy assumption of why our Gov. pushed the “Left Lane Law” through, so please read on.  Those who don't know the law that was put into effect on January 1, 2004, it states that for any four or more lane highway, motor vehicles cannot drive in the left lane unless overtaking another vehicle.

    To me, this is just crazy...why do we need a law for this type of thing...well I've come up with a few assumptions of why:

    1. People are stupid, and some people like to drive the speed limit in the left lane, thus inhibiting other people to pass them on the left and make us pass them on the right.
    2. It allows police officers to more easily determine the “speeders” out on the road (like me).
    3. We just needed another stupid law to put some extra money in the senator's pockets.

    Driving back to my parents house tonight numbers 1 & 2 were just plain obvious, as I had to pass several cars on the right hand side and slow down several times as my Valentine One started blaring in my ear.  Either way, I think this law is just plain stupid. What are your thoughts?


  • Wanna Sneak Peak?

    So if you're reading this, you're obviously wanting a sneak peak... well its more of a press release (even though I'm not press) in a way.  Right... the sneak you're wondering, what does Matt have in store?  Well, how about a new control added to the eWorld.UI Control Set!  WHOA! Another one?  Yes, another one...its called the AccordionPanel, which is a subclass of my popular CollapsablePanel control.

    But Matt!?!? What so special about the AccordianPanel (AP)?  Well, the AP allows you to have 1-N number of CollapsablePanel controls, in which if another AP control is expanded, and you expand another AP, all other AP's in a group are collapsed.  But, whats the big deal...well it can make a really cool menu system, similar to that of GotDotNet or, it may even remind you of Outlooks sidebar, that is if you set it up properly.

    The only thing is, its not available just yet.  I'm currently working on v1.9 of my control set, which will include the AP control, and a ton of updates to my CollapsablePanel control.  Not to mention my never ending expanding of the CalendarPopup.  So, I guess the only sneek peak you'll get is if you become a Beta Tester, but don't fret... my beta versions are usually released publically around 2 weeks after a beta release.  So, until later...


  • Thanks & Hello!

    Hello to everyone!  My name is Matt Hawley and I'm the sole developer at Excentrics World producing those wonderful controls we all love.  I wanted to take a second and thank Scott for giving me some blogspace over here and give you a brief history of me. 

    I've been working with .NET since late Beta 2, and have loved every minute of it.  Just recently I passed my last test to obtain MCAD for Microsoft .NET, and it only took me 8 months to do it -- I just couldn't get myself to pull through the Windows Test.  Over the last year I've found my prime passion, building Custom Server Controls.  It all started with CalendarPopup, and I just started finding more useful controls that everyone has a passion to use, but no time to ever build. 

    Hopefully my stay here at Weblogs @ ASP.NET will produce more popularity for my controls and future endeavors and help me build a more robust set of controls.  So, if you haven't been by to check out my controls, do so now, and enjoy the cost - FREE!