In my opinion, NewsGator is the best RSS aggregator. It's integration with Outlook makes reading feeds ultra-convenient. If you haven’t tried NewsGator now’s the time because version 2.5 has been released. I’ve been using the beta and the integration with the NewsGator Web Edition is fantastic. Works as advertised. You might also want to try their podcasting application FeedStation. It’s not better than Doppler, yet. But I have a feeling it’s going to get there.
As you probably can tell I’ve been working on integrating Reporting Services within our ASP.Net website. A part of this integration is creating an ASP.Net custom control that will easily render a report from a page. Calling the Reporting Server web service is a snap and encapsulating this in a control is not a problem since I’ve had some experience with server controls (and yes they can be a big pain in the rear). I added a couple of LinkButtons to the control allow the user to export the report. But low and behold the Click events on the buttons wouldn’t fire. Dazed, I checked up on event bubbling and the IPostBackEventHandler but no dice. Then, I ran across a post titled “No events are fired in child control” in the microsoft.public.dotnet.framework.aspnet.buildingcontrols (say that five times fast) newsgroup. In a reply to this post Jeffrey Tan of Microsoft posted this nugget:
“Acutally, in Composite Control, if you want to hook the child controls' event, you must implement the system.Web.UI.INamingContainer interface. It will provide you the unique names in the hierarchical tree of controls. If you do not implement this interface, asp.net model will not associate the event handler well.”
Nice. I added the one line of code and everything worked as advertised. Order is restored to the world
Now Playing: Pigeon John - Nothing Without You
I found a good article on the new version of Reporting Services.
According to Welcker, "Everything will be upgrade-in-place for Report Server. Reporting Services 2000 reports can be run on 2005 though there won't be support for any features that are new in 2005. Reports will be automatically upgraded if opened in the 2005 Report Designer."
Just what I wanted to know.
Speaker: Andres Sanabria
- This guy just opened the IDE and didn't resize his font size. I hate this! How am I supposed to follow along when all I see is red, blue and black blurs?
- Composite Controls combines the functionality of one or more existing controls
- The associated designer ensures child controls are created at design time as well.
- Script OM: New Features
-
- DefaultButton
- Maintain scroll position on Postback
- Focus, SetFocusOnError (for validation)
- Web Resources
- Out-of-band callbacks
- Script OM: Generate and render client-script
-
- Valid XHTML <script> tags
- Provides API to register inline script or reference a *.js file
- Controls con override to delegate focus to a child control if they want explicit control.
- Web Resources: Simple deployment model of client files.
-
- Package scripts, images, style sheets, etc. as assembly resources.
- Instead of installing into "aspnet_client" folder
- Script Callbacks
-
- Page is interactive while the server process request
- No browser flashing or loss of scroll position
- Does not add to the navigation history
- Modeled after post-back event handling
- Implements a script callback function
- Page framework handles partial page execution.
- Script Callbacks sound really cool. Is this their answer to AJAX?
- Asynchronous Task
-
- Allows a container to register an asynchronous task to the page.
- Container will be notified when task competed, time-out or ended.
- Time out is defined at the page directive
- Control developers can alter the rendering based on the async task result.
- Control State
-
- The essential bits of information to allow controls to ensure expected behavior
- Separated out of view state. Page developer can turn off view state without losing functionality. Control state cannot be turned off.
- Controls must opt-in to participate in this mechanism. Should store only the essentials, so control state doesn’t become another view state. Properties stored in control state should not be saved in view state as well.
- He talks about how to integrates Web Parts in your controls. Check on this…
- The demos are useless. Not because they don't do anything but because I can't see the code.
- I've got to go. No I really it mean I've got to go! Too much bottled water lying around.
Disclaimer: These are my notes from my experience at TechEd 2005. I do not guarantee the validity or accuracy of these notes. They are my thoughts and what information I felt was important at the time.
Speaker: Jeff King
- What is good UI? Not just visually appealing. It's consistent, accessible, standards compliant. It has modular/interchangeable styles. It's also time efficient.
- Master Pages
-
- Factor redundancies into reusable templates
- Inheritance concept baked-in architecturally
- Has unlimited nesting
- The Content's page Content control ContentPlaceHolderID property and the Master's ContentPlaceHolderID ID property must match.
- You can dynamically switch the master page dynamically in the PreInit event.
- This guy is typing the server code in the markup page instead of in the code behind. I really don't like that. I think the code-behind model is great! It offers a logical division between the markup and the code.
- Working with a graphic designer
-
- No need to deliver aspx, just html is fine
- Avoid (slightly) incongruent page designs
- Don't cross the visual line between the master an contend
- Themes and master pages overlap:
-
- Change style sheet by changing Master Page.
- Change layout by using CSS (Themes)
- Make an exception for your front page
- New Navigation controls: Menu, TreeView, SiteMapPath, SiteMapDataSource.
- If you need a free tab control (there are plenty of tab controls out there) you can change the Menu control into one. Use images & CSS
- Recommendation: Specify a CSS class for the control (i.e. Menu) and let CSS handle some of the UI.
- Navigation: Recommended Usage:
-
- Not all designs are possible without templates or custom controls. Understand the intrinsic markup structure of each control. Understand Where you can specify CSSClass
- To enable themes you need to add a folder called app_themes/themename. You also need to add a skin file.
- Themes Recommended Usage:
- Do as much as you can inside the Style Sheet. When producing multiple themes, have your designer multiple CSS files but only one XHTML files. http://www.csszengarden.com. Modify layout without changing your Master Page
- When to use Skins:
-
- Foreground images can't be controlled by CSS
- Advanced controls and collections
- What does not belong in themes
- Global images
- Shared, Print or other Style sheets
Disclaimer: These are my notes from my experience at TechEd 2005. I do not guarantee the validity or accuracy of these notes. They are my thoughts and what information I felt was important at the time.
Speaker: Kimberly Tripp
- SQL Server stared from a team of five (Sybase) to 400 (for 7.0) to over 1,000 (for 2005). Geez, do you think that they've put some money into this thing?
- Query Analyzer and SQL Enterprise Manager are now lumped in to SQL Management Studio
- Analysis Manager turns into BI Developer Studio
- Profiler can now be run outside of the admin role.
- You can manage SQL Sever 2000, SQL Server 2005 and SQL Express from the SQL Management Studio.
- Source Safe (anything that uses the Windows Source Control API) integration is included into SQL Management Studio. ABOUT FREAKIN TIME!
- SQL Management Studio looks a lot whole like Visual Studio.
- Using SQL CMD Lines in a SQL Script allows the ability connect to multiple servers.
- If you are writing function to be run on the database work with the DBA to expect the proper results.
- Good Scenarios for CLR Usage
-
- Data validation & network traffic reduction.
- Writing general purpose function: Data passes as arguments, little/no additional data access, Complex computation applied on a row by row basis to the data.
- Scalar types & custom aggregations
- Leveraging the power of the .Net frameworks
- Bad uses of the CLR
-
- Heavy data access - SQL set based access will be faster
- Complex types 8K limitation
- TSQL Enhancements
-
- ROW_NUMBER
- RANK
- PIVOT/UNPIVOT
- Common Table Expressions
- CROSS APPLY and OUTER APPLY
- TRY/CATCH
- DDL Triggers (synchronous)
- Event notifications (asynchronous)
- Parameterized TOP
- She demoed using .Net assemblies that are calling the Amazon Web services running in SQL Server. She called the assembly function from TSQL. Very powerful.
- You can create XML Indexes in SQL Server.
- XML Data is now shown as a hyperlink in SQL Management Studio. Click on the link and it shows the XML on a separate tab.
- SQL Server 2005 can listen to HTTP traffic using kernel mode HTTP.SYS. It does NOT depend on IIS. This is off by default.
-
- Clients can use SOAP to interact with SQL Server. This is great for platforms with no SQL middleware support.
- Trade-off of flexibility for performance. SQL clients will perform better.
- This can be created in TSQL.
- Troubleshooting Tools:
-
- Debugger support for TSLQ & CLR
- Dynamic Mgt Views
- Flight Recorder
- SQLClient/OLEDB tracing
- XML Showplan
- Complete cleanup of error messages
- SQL Profiler (with Perfmon integration) - You can open a perfmon trace and a profiler trace together. Both logs must be correlated by time. Also, the servers should have their clocks synchronized.
- SQL Server Express has most of the features of SQL Server 2005!
Disclaimer: These are my notes from my experience at TechEd 2005. I do not guarantee the validity or accuracy of these notes. They are my thoughts and what information I felt was important at the time.
Speaker: Rob Howard
- You can now change settings in Web.Config dynamically. This should allow devs to store configuration changes on-the-fly.
- Declarative Data Binding
-
- Controls bounds at appropriate time
- Wire-up done through properties
- Page lifecycle knowledge not required.
- Site Map allows the defining of how the ASP.Net website pages are laid out.
- The SQLDataSource is a server control that allows the defining of a SQL Sever Data Source without any code.
-
- The SQL DataSource control enables caching on the object.
- Parameters of a SQLDataSource control can be bound. These parameters can be from the Query String, web controls, etc...
- The DataGrid now has a DataSourceID property to allow the DataGrid to be wired-up without code.
- DataBinder.Eval(Container…)) syntax can now be written as Eval(…)
- It looks like they decided that ASP.Net 2.0 needed more declarative syntax to reduce the amount of code written.
- "Smart" Data-Bound contorls. New GridView and DetailsView control
- No code is needed to sort, update, insert and delete data. This is done through the DataSource control.
- Paging by default will grab all of the data and show only what was requested. You can override this.
- Amount of view state that is generate has been reduced by 40%.
- ObjectDataSource control uses an object to retrieve data.
-
- Bind to custom business objects
- Visual Studio data components
- Parallels SQLDataSource in object model.
- The select method can return any object, IEnumerable list, collection or array
- There are Update, Insert and Delete methods
- The GridView control renders sets of records as HTML tables.
-
- Built-in sorting, paging, selecting, updating, deleting support.
- DetailsView Control renders individual records. Pair with GridView for master-detail views.
- SQL Cache Invalidation - New cache dependency type. It links cached items to database entities. Check into this…
Disclaimer: These are my notes from my experience at TechEd 2005. I do not guarantee the validity or accuracy of these notes. They are my thoughts and what information I felt was important at the time.
Speaker: Bill English
- SharePoint Portal Server is a product. Windows SharePoint Sevices is a service.
- Portal Sever gives us the ability to do three things: aggregates, organizes, and presents information. SharePoint Sevices are used for collaboration.
- Areas appear in the portal and are used to aggregates, organizes, and presents information.
- Site Collections Sites and Workspaces are used to:
-
- Provide a collaboration space for users
- Provide a development environment for new applications.
- SharePoint Portal Server assumes a distributed administrative architecture
-
- End-users will now manage most of the information in your company. Before you give a portal to a group of users, ensure they are willing to help manage the portal.
- Your IT department will manage portions of the portals, all virtual servers and server farm configurations.
- SharePoint Portal server will introduce
-
- New communication paths
- New methods of collaboration (e-mail vs. sites)
- New methods of communication
- New ways of storing and developing information
- SharePoint Portal Server introduces culture and business process change.
-
- You are not installing a product you are installing culture change!
- Pitfalls to avoid
-
- Don't try to do collaboration in the portal. The security administration doesn't scale well to the end-user.
- Don't develop a taxonomy without consulting your stakeholders - don't rush
- Allow for mistakes - the flexible taxonomy features of SharePoint Portal Server are designed to for an evolving taxonomy.
- Document Libraries are where documents are exposed
- Documents are held in SQL Database.
- Basic document collaboration is in the box. Check in/check out/versioning.
- SharePoint is not a document management system. You put documents in SharePoint that need to be collaborated on. 80% of the time all that is necessary is check in/check out versioning. Microsoft calls this document collaboration.
- Lists are fabulous at hosting data
- List enumeration becomes slow for long lists (over 2,000 items)
- Libraries and Lists: Pitfalls to avoid:
-
- Treating SharePoint Portal server as a document management system
- The SharePoint index is placed on the index server and twice on the search server.
- Searching and Indexing: Key Considerations
-
- Can crawl and index any number of content sources
- Can customize the Advanced Search to include custom metadata for searching
- Heavy bandwidth usage
- Server resource intensive
- In a heavy indexing environments this will be the reason you scale out to a larger farm
- Cannot share WSS and SPS indexed
- The most difficult and time consuming part of portal server to troubleshoot
- Searching and Indexing: Pitfalls to avoid:
-
- Underestimating server resource needs.
- Underestimating bandwidth needs.
- Not knowing where your company data is.
- Not estimating the amount of data to be indexed. Medium Farm: (Total Data size * .4) * 3 = Disk space needs for indexes.
- Not screening content source requests. Need to develop a business case for when you add new sources
- Not properly educating end users.
- Security and Extranets: Tradeoffs:
-
- Do you want a highly secure implementation?
- Do you want a highly collaborative implementation?
- SharePoint Portal server does well at both, but some will always be disgruntled with one aspect or another.
- Security and Extranets: Key Considerations:
-
- You will want to authenticate Extranet users
- Can implement a two-tier authentication process - two-factor is very difficult
- Can use SSL for access to the portal/sites
- Each virtual server will need its own SSL certificate
- Can use an Anonymous feature if you want to expose a site to the internet.
- Can use SharePoint with farms
Disclaimer: These are my notes from my experience at TechEd 2005. I do not guarantee the validity or accuracy of these notes. They are my thoughts and what information I felt was important at the time.
Speaker: Amanda Silver
- VB now has a bunch of new templates including a login form.
- The new Application Designer is the "cockpit for your app".
- Ouch! She had to change her laptop two minutes before the session and of course the project isn't working.
- You can override My namespace methods. You also need to use compiler arguments.
- The My object are shortcuts to common objects.
- Configuration Settings
-
- Framework classes support read/write
- Strongly-typed validation for settings
- Discovery via IntelliSense
- Support for app-scoped or user-scoped
- Works in partial trust
- User settings are stored in a username.config file.
- Settings fire events.
- Over 500 code snippets will be shipped in the box. Examples: Design patterns, Implementations of interfaces
- A snippet editor will be made available via the web.
- The Using statement will automatically dispose at the end of the block
- Operator overloading isn't for the pocket protectors any more.
- Partial keyword allows classes to be declared across multiple files.
- VB now gives early runtime warnings
-
- Overlappig catch blocks or cases
- Recursive property access
- Unused Imports statement
- Unused local variable
- Function, operator without return
- Reference on possible null reference
- Option strict broken down into more granular switches.
- VB now uses XML document comments and places it in intellisense.
Disclaimer: These are my notes from my experience at TechEd 2005. I do not guarantee the validity or accuracy of these notes. They are my thoughts and what information I felt was important at the time.