Monday, August 18, 2008 #

Finally WPF has its own Datagrid!

With the release of .NET Framework 3.5 SP1 & Visual Studio 2008 SP1 there's a silent present from Microsoft: the first release (CTP) of the WPF Datagrid.

In the past I've blogged few times about this request: WPF is a step to the future for the UI world, but the grid is (in my opinion) the better way to show certain types of informations.

The new WPF Datagrid (the official one ) seems really interesting and here you can have more details (Jaime Rodriquez has a EXCELLENT 3 part series on how to customize the DataGrid (Part 1, Part 2 & Part 3)).

Thanks a lot and long life to the grid...

posted @ Monday, August 18, 2008 6:55 PM | Feedback (0)

Thursday, August 14, 2008 #

Visual Studio 2008 SP1 and .NET Framework 3.5 SP1 enhancements

As usual, the Visual Studio SPx and .NET Framework SPx are not only "Service Packs" for bug fixes, but they contains lots of new features and improvements to the entire platform.

What is interesting to know:

The .NET Framework 3.5 SP1 delivers:

  • Performance increases between 20-45% for WPF-based applications – without having to change any code
  • WCF improvements that give developers more control over the way they access data and services.
  • Streamlined installation experience for client applications
  • Improvements in the area of data platform, such as the ADO.NET Entity Framework, ADO.NET Data Services  and extensive support for SQL Server 2008’s new features.

Visual Studio 2008 SP1 delivers:

  • Improved designers for building WPF applications
  • Full support for SQL Server 2008 (formerly known as SQL Server Katmai)
  • ADO.NET Entity Framework and ADO.NET Data Services tooling
  • Visual Basic and Visual C++ components and tools (including an MFC-based Office 2007 Style ‘Ribbon’)
  • Improvements to TFS to respond to customer feedback on version control usability and performance, improved email integration with work item tracking and full support for hosting on SQL 2008.
  • Improvements for Web development including richer JavaScript support, enhanced AJAX and data tools, and Web site deployment.

And there's an interesting aspect under the hoods:

with .NET Framework 3.5 SP1 now you can execute a managed code from a network location.

posted @ Thursday, August 14, 2008 2:54 PM | Feedback (0)

Monday, August 11, 2008 #

Blog updated...

After lots of months of waiting, Subtext 2.0 is here...

I was thinking that Phil was too busy in this period to work on the Subtext project, but I was wrong: Phil and his friends have released another interesting major release of this wonderful blog engine.

I've just finished the upgrade process and it was simple and clean as usual. Now this blog works on Subtext 2.0!

Thanks a lot guys...

posted @ Monday, August 11, 2008 11:02 PM | Feedback (0)

Sunday, August 10, 2008 #

NAV 2009: how to run a NAV object as a web service

One of the biggest improvements in the future NAV 2009 three-tier platform will be the possibility to run a NAV object (a table or a codeunit for example) as an XML web service. The final result is that you will have a platform ready to be extended and integrated with external systems. The biggest news is that now you can invoke the NAV logic also from the external world... this is fantastic and extremely powerful for every type of integration.

Directly from the NAV Developer Team, a brief explanation:

In NAV 2009, run form 810 "Web Services". Select either a page or a codeunit, then click "Publish". The page or codeunit selected is now published as a web service.

And, a few more details:

First of all, make sure to start the service "Microsoft Dynamics NAV Business Web Services". This is the service that handles web service requests. It runs from the same folder as the service "Microsoft Dynamics NAV Server", which handles requests from the new client.

Then check the application log, to
  1) Make sure that the service started OK
  2) See what port it is listening to
Currently, the service will listen to port 7047. But this has changed and may change again, so just check the application log for an entry like this:

Service MicrosoftDynamicsNavWS is listening to requests at http://[MachineName]:7047/[InstanceName].

Open your Internet browser and go to this site:
http://[MachineName]:7047/InstanceName/WS/CRONUS_International_Ltd./Services
The site name is built by taking the link from the application log (see above), and then adding /WS/[CompanyName]/Services
Note that in the company name, space is replaced with _ (underscore). In my case - running on a machine called TEST - the link is:

http://TEST:7047/InstanceName/ws/CRONUS_International_Ltd./Services

Your internet browser should now show a page like this:

- <discovery xmlns="http://schemas.xmlsoap.org/disco/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<contractRef ref=http://TEST:7047/InstanceName/ws/CRONUS_International_Ltd/SystemService xmlns="http://schemas.xmlsoap.org/disco/scl/" />

</discovery>

It lists just one service called SystemService. The next step is to add a service from NAV:

  1) Start a classic client, open Object Designer, and run form 810 "Web Services".
  2) Select Object Type = Page, Object ID = 21, Service Name = Customer Card, and tick "Published".

Go back to your internet browser and refresh, and you should see your new service.

To see details of this service, copy the link into the address bar of your browser - in my case:
http://TEST:7047/InstanceName/ws/CRONUS_International_Ltd/Page/Customer_Card

This shows you all interfaces to this service. You will notice that this web service exposes the fields from the customer card page. In addition to this, it exposes the following system functions:

Read
ReadMultiple
Create
CreateMultiple
Update
UpdateMultiple
Delete

These are the functions that are available on any web service which is based on a page.

As indicated by the available object types in form 810 "Web Services", you can base a web service on either a page or on a codeunit. So just repeat the steps above, but select "Codeunit" instead of "Page" in "Object Type" in form 810 to publish a codeunit.

A web service is a method of integration based on a common framework. So a developer who knows about web services can now use your NAV webservices to develop integration without knowing anything about NAV. When using a NAV web service, it will run the same triggers as if the page or codeunit was used from a NAV client.

posted @ Sunday, August 10, 2008 1:29 PM | Feedback (0)

Wednesday, August 06, 2008 #

SQL Server 2008 RTM

Today is the day: SQL Server 2008 is officially released to manufacturing and the first bits are available to download on MSDN Subscriber Downloads and TechNet Subscriber Downloads.

SQL Server 2008 has lots of interesting news for the enterprise and personally I'm excited about the new Reporting Services 2008.

As explained by Robert Bruckner, in Reporting Services 2008 you'll find:

  • Improved Report Designer in Business Intelligence Development Studio

  • Report Builder 2.0 (stand-alone report designer, currently available as feature pack RC0 download)

  • Author reports with any structure, using the unique Tablix grouping and layout capabilities.

  • Leverage the enhanced Textbox (aka "RichText") to define mixed formatting within the same textbox.  In addition, HTML strings of text can also be imported into the report from a database or other source.

  • Enhanced scalability and performance; more details covered in a previous posting.

  • Render reports to Microsoft Office Word format.

  • SharePoint Integrated Mode
    Integrate Reporting Services with Microsoft Office SharePoint Server 2007 for central delivery and management of business insight, or run it stand-alone in native mode.

  • Data Visualization
    Gain insight into complex sets of data by displaying data graphically with enhanced visualization capabilities (chart, gauge).

  • New on-demand report processing and rendering architecture, including a new RenderingObjectModel.

  • New and enhanced data source types (Teradata)

  • New memory configuration options in the report server

  • No IIS dependency.  HTTP.SYS and ASP.NET are now directly hosted within the report server.

  • New and enhanced Reporting Services Configuration Tool.

Enjoy!

posted @ Wednesday, August 06, 2008 8:46 PM | Feedback (0)

Tuesday, August 05, 2008 #

Installing Sharepoint on a Vista system: now you can!

In these days on my favourite RSS feeds list is appeared a new blog community, Bamboo Nation (Sharepoint oriented).

By checking their old posts, today I've discovered something wonderful and unbelievable: How to install Windows Sharepoint Services 3.0 SP1 on Vista x64/x86.

Basically, the Bamboo Solutions Team has put together an installer that allows you to install WSS3.0 SP1 on a Vista system. This is a dream for me...

Actually, one of the biggest problem for a Sharepoint developer is that if you want to develop something for Sharepoint, you need to work on a Virtual Machine with at least Windows Server, Sharepoint and Visual Studio installed. If you are like me, with a Vista pc where you do all your daily works, you can imagine the noise when you're forced to work with Sharepoint: stop all your non-useful running programs, turn on Virtual Pc (or VMWare), start your WSS Virtual Machine, open Visual Studio and start work. Bleah...

Now, you have the chance to have WSS running on your Vista machine, so no need to change environment for development.

At the time of this writing, I've not tryed this installed, but I've read interesting feedbacks and I think that this is one of my next scheduled activities for this week: I want to have Sharepoint running on my daily development machine!

The setup procedure seems quite simple (it's like a standard WSS setup on a server machine) and this is the result:

Wonderful...

posted @ Tuesday, August 05, 2008 10:07 PM | Feedback (0)

Thursday, July 31, 2008 #

I'm on space...

Join me to the trip...

certificate_border01a

Nasa

Send Your Name into Space with the Kepler Mission

Send Your Name to the Moon

posted @ Thursday, July 31, 2008 9:55 PM | Feedback (0)

Saturday, July 26, 2008 #

iPhone-ized...

Thanks to a friend, I succumbed to the iPhone temptation...

I had the chance to have this gadget to a favourite price and so now it's on my hand. Unfortunately I'm one of that person that is always with the phone on its hands, so I think that after some days of usage I can say something about the iPhone 3G as a business phone.

If you want to play songs, video, playing with photos etc., the iPhone is absolutely great... but this is not my usage for a phone, so I don't want to spend words in order to describe the "fun" functionalities of this device (it lacks MMS and video recording at the moment, strange at least for an italian user).

iPhone3G

What about business functionalities? A phone that suits my business must have:

  1. 1) Possibilites to manage emails and calendars, with sinchronization to corporate servers.
  2. 2) Good navigation experience
  3. 3) WiFi
  4. 4) Long battery life

These are the aspects that I use when I'm on travel or out of office. I need to be always connected to what happens to my work.

So... what about the iPhone on these aspects?

  1. 1) The iPhone now supports the Microsoft Exchange ActiveSync protocol and it permits you to deliver push email, calendar, and contacts. It works really well: when you receive an email to the corporate account or you (or someone on your organization) set an appointment to your calendar, the iPhone is immediately sinchronized over the air (Push support is wonderful). You're always connected to your organization. A wonderful Windows Mobile feature that is missing on the iPhone is the possibility to view the next scheduled calendar appointments on the phone main screen: on the iPhone there's not this feature. Emails are viewed with rich HTML format and you can zoom the contents as you want (for example, yesterday I was out of office and I've received an email with a print screen error message; with the iPhone I was able to zoom the email contents, read the error message and answer to my customer.). What is missing (or at the moment I was unable to find) is the possibility to search the emails. You can scroll the emails with your fingers but you can't search them for words.
  2. 2) Safari is absolutely wonderful... the iPhone gives you a fantastic navigation experience and it's able to display every web page you want (it works well also with Sharepoint sites). You can zoom the page content or a page section with your fingers and you can turn the browser landscape or portrait for a better navigation. This was a surprise for me: you can see websites exactly as you can see them on your pc.
  3. 3) WiFi support is excellent. If you've the WiFi turned on, the iPhone is able to connect to your network and use it instead of using UMTS. When I'm at home or I'm at office, I turn on the WiFi and the device automatically joins my network and use them for every Internet operation I do. If you're outside office and you want to reach a WiFi network, the device shows you the list of WiFi network available and you can choose what network to join with a finger click.
  4. Battery life is always a problem for the last generation of mobile devices. Modern devices have WiFi, 3G, large screens with lots of colors etc. and all these features are really battery consuming. The iPhone battery is not super but I think it's exactly like the most 3G devices on the market. Actually I can do 2 days without recharging but obviously this time depends a lot on your usage. What I really hate is that the iPhone has not a quick way to change the battery (and so having a second battery to use). A battery with a longest life would be wonderful.

Another lack of the iPhone is a good file manager, useful if you want to bring with you some important files.

After some days of usage I can say that the iPhone suits well my business needs but if you're more "complicated" than me, I think that Windows Mobile 6.x is always the best choice.

posted @ Saturday, July 26, 2008 12:55 PM | Feedback (2)

Monday, July 14, 2008 #

MOSS BDC and Business Data List Web Part

Business Data Catalog is a Microsoft Office SharePoint Server feature that allows users to access external data from within SharePoint. In order to use the BDC features, you need to setup a Business Data Catalog Definition file (XML) that defines the structure of the external system that you want to conect to Sharepoint.

Microsoft has released a tool called Business Data Catalog Definition Editor (available in the Sharepoint SDK) that helps you to create the XML file that must be imported via the Sharepoint Central Administration. Unfortunately, this tool is really far from what could be called a great tool!

The Business Data Catalog Definition Editor has a main "bug"... Try to load a definition file in Sharepoint and then use a Business Data List Web Part. When you select the Business Data Type, you'll receive an error: there are no Business data Types Loaded in the Catalog.

Why this? Because the Microsoft tool does not generate the "Finder" method (the method used by the Business Data List Web Part for retrieving data). It creates only a "SpecificFinder" and a "IdEnumerator" methods.

The only way I've found in order to solve this problem is to manually create the "Finder" method. The easy way is to change the MethodInstanceType property of the "IdEnumerator" method to "Finder":

BDC_Bug

Now your Business Data List Web Part is ready to show your data.

Whe we'll have a new and "less buggy" Business Data Catalog Definition Editor from Microsoft?

posted @ Monday, July 14, 2008 2:37 PM | Feedback (3)

Monday, July 07, 2008 #

Composite Application Guidance for WPF

Designing flexible and composite applications was a must with Windows Forms and it's a must also for the latest WPF technology.

With the clear target to help developers to build composite enterprise applications, Microsoft has published the Composite Application Guidance for WPF.

It's a must to check if you're involved on WPF development...

posted @ Monday, July 07, 2008 9:04 AM | Feedback (0)

Wednesday, June 11, 2008 #

What a period...

Don't worry, I'm still alive...

This was a full period for me, rich of interesting events for my life:

  1. I got married (photos? Top secret ).
  2. I was 16 days in the USA for a wonderful trip on the west and east coast)

Now I'm again on my desk as usual... work is waiting me!

posted @ Wednesday, June 11, 2008 9:22 AM | Feedback (0)

Thursday, May 15, 2008 #

Client-only Framework Subset: finally!

The great news for who is mainly a windows client developer (like the author of this blog ) is that with the .NET Framework 3.5 SP1 (actually in Beta 1 stage) will be released the .NET Framework 3.5 SP1 Client Profile, a subset of the .NET 3.5 library only for the client applications.

The new light "client .NET package" (about 26 Mb) will include these components:

  • CLR
  • WinForms
  • ClickOnce
  • WPF e WCF

and it will have a direct support inside Visual Studio 2008:

This helps to have a light installer when you deploy your applications.

posted @ Thursday, May 15, 2008 12:37 PM | Feedback (2)

Thursday, May 08, 2008 #

Sharepoint Designer and workflows

In these days we're observing lots of curiosity and interesting around the Workflow capabilites in Sharepoint and during our demos I'm trying to show to my customers that you don't need to be an expert on Windows Workflow Foundation in order to create the biggest part of the workflows that your business needs.

If you decide to adopt the Sharepoint platform, you've a powerful and adaptable workflow platform and you've a tool that can really tune up your business: Sharepoint Designer.

Sharepoint Designer has an intuitive wizard that permits you to build, compile and install a workflow on a Sharepoint library in few minutes. With the standard activites exposed by Sharepoint Designer you can build really a big amount of different workflows and I love to show that, only with the standard features and a careful Sharepoint Site design, you can satisfy a big amount of your business needs.

But Sharepoint Designer is more than this... what many people doesn't know is that Sharepoint Designer is extendible: if you're a developer, you can create custom workflow activities with Visual Studio and Windows Workflow Foundation and make them available to use with Sharepoint Designer in a simple and intuitive manner to your end users.

The steps in order to make a workflow activity available to Sharepoint Designer are essentially these:

  1. Create the custom activity with Visual Studio
  2. Register the Workflow Activity dll in the GAC on the SharePoint server
  3. Register the Workflow Activity dll in the <authorizedTypes> section of the web.config on the SharePoint server (remember that if your site is running on a specific port (for example 111) the we.config to update is located on C:\Inetpub\wwwroot\wss\VirtualDirectories\111\web.config).
  4. Register the activity for use in SharePoint Designer via the WSS.ACTIONS file on the SharePoint server

You can find an interesting tutorial here.

With these extensions, Sharepoint Designer can become really an interesting workflow editor I think and, more important, available to users that are not developers or that doesn't have development knowledges.

If you're interested on custom activities for Sharepoint Designer, remember that on CodePlex there's an interesting project called Useful Sharepoint Designer Custom Workflow Activities with interesting ready to run objects. My favourite? The Start Another Workflow activity (a lack on Sharepoint Designer I think... ):

posted @ Thursday, May 08, 2008 10:21 PM | Feedback (0)

Cool Silverlight Healthcare demonstrator

If you work on the Healthcare field (this is a big part of our business) I think that your mind will do a great jump to the future when you'll see the just released Microsoft Health Common User Interface (MSCUI) Patient Journey Demonstrator,a great live sample on how you can implement cool UI for the Healthcare applications.

HealthcareSilverlight

The interesting news is that demo scenario is a part of a project called Microsoft Health Common User Interface (CUI) that claims to build a common User Interface Design Guidance  for the next generation Healthcare applications (actually are available the Design Guidance  and the Developer Toolkit.

Absolutely a cool project to monitor...

posted @ Thursday, May 08, 2008 2:47 PM | Feedback (0)

Sunday, May 04, 2008 #

Next Generation UI: the love for the grids...

On his new web diary, Silvano Coriani has published an interesting message: in a new software era where the user interface is growing as importance, why the old GRID is always so requested?

I agree that with the latest technologies like Windows Presentation Foundation the UI must be revisited and the we've to be ready for a new way to obtain informations from a  software and to interact with data, but a new visual experience is not all for a software.

A software, expecially in the business world, must be productive! The grid could be an old concept (at least it's 20 years old) but I think that this is the most productive control I've ever used on a business software.

If you think to a software that is built in order to manage informations, having such a grid that can permits you to have all the informations you want under your eyes, filter them, order them and immediately work on the represented data, this is unvaluable for a user... Obviously, the grid concept must be improved and adapt to the new UI experience (and I think this is why the biggest request to the WPF Team is actually to have a new DataGrid despite WPF helps to do so with the ListView control for example), but thinking now to a control more productive that the "old" grid view, is a bit strange for me...

posted @ Sunday, May 04, 2008 2:40 PM | Feedback (1)