DCSIMG

 Subscribe in a reader

October 2008 - Posts - Guy kolbis

October 2008 - Posts

I got to say that sometimes taking a break from everything (work related) is great!

It is hard for me to really take a (full) break; I always find myself even on vacations answering mails and reading work related materials and etc.

Not this time!

I am on a 3 weeks vacation to the USA that started at N.Y.C and continued to the west coast, where I visited San Francisco, Monterey, L.A and now on my way to Vegas!

I love it!

Here are some pics:

PA190064

N.Y.C

PA250091

L.A 

PA220146

San Francisco

More pics later on... :)

MEF stands for "Managed Extensions Framework".

blocks

The idea behinds it is to allow reuse and decoupling of applications and components, where the composition between components will be done at runtime. The major benefits in my opinion to use MEF:

  • Reuse components.
  • Decoupling.
  • Separation of concerns - Separate independent groups so they can work on different components.

Bottom line

If you are building extensible applications, extensible frameworks and application extensions, check out MEF.

NOTE: MEF is under development. You can download the CTP.

More reading

http://www.codeplex.com/MEF

http://blogs.msdn.com/brada/archive/2008/09/29/simple-introduction-to-composite-applications-with-the-managed-extensions-framework.aspx

kolbis כתב בתאריך Sunday, October 12, 2008 7:41 AM
תגים:

Reports are usually a common requirement when building a software. So, in order to allow to view reports, filter them, build new report and etc. we must first decide on the technology we will use.

In order to do so, we first must understand the requirements. Requirements for the reports vary from one application to another, but still there is common ground to all. Here is a list I found out to be common in several cases:

  • Localization & Multi Culture.
  • Security.
  • Report Composition.
  • Formatting.
  • Web Support.
  • Dev Support.

In this post I will try and let you understand the considerations I make before going with a specific technology.

Localization & Multi Culture

The localization & multi culture stands for the capabilities to display reports to the end users. A common demand is to support several languages including LTR and RTL. When I say support I mean to either the textual and the layout. Hebrew for instance should be display from right to left and at least the static text should be in Hebrew.

The localization and culture should be supported in both the reports execution (the result when executing a report) and the filters (the values that you can send the report).

Make sure that the technology you select can support your needs.

Security

This is definitely a painful spot. Security has many aspects. Here is a list that describes several of them:

  • Who can execute a report?
  • What data in the report one can see?
  • Who can manage reports?
  • Who can build new reports?
  • etc.

The security module should answer these questions. We must decide on the authentication and authorization mechanism. In other words the technology you select should support the way users will be authenticated and authorized for the reporting purposes. It should support both custom authentication (database) and windows authentication (Active Directory).

Report Composition

Sometimes we want to allow the customers or end users to build new reports and import them to the application. The technology you select should allow one to do just that.

Formatting

It is important that reports can be exported to several key formats:

  • Excel - Managers love them simply because they can manipulate the data.
  • PDF - A very common and well supported.
  • Other...

Select a technology that allows you to export your reports.

Web Support

In many cases you need to allow users to view reports when not on site; For example, if the manager is at home and wants to see the reports, we must supply him with a way to do that.

The technology should supply a web access that allows you to view and execute reports.

Dev Support

I consider that to be a top most important issue. The technology you choose should have good support for the development team. This can be either by large community or by a good support team.

From my experience there are products that are lacking in that issue.

This just blew my mind!

I found a site that can read your mind...yes...no bullshit ...this is for real.

All you need to do is think about a character, answer some questions and the tool will let you know whom you thought of.

You got to try this: http://www.devinettor.com

kolbis כתב בתאריך Tuesday, October 07, 2008 8:13 AM
תגים: