|
-
This follows on from my first blog and looks at the technical aspect of the ELMAH to Gemini process. Over this little series I have introduced ELMAH (Error Logging Modules and Handlers), Exchange web services and Gemini. This blog is going to discuss how they all link together. By linking the whole process simply when an application throws an error it will get recorded inside Gemini. An overview of the process - ELMAH is set up and created within an application
- The application errors and an exception is thrown this causes an email to be sent
- Email received in mailbox ready to be processed
- An automated task is ran to check the inbox for new messages
- If there is a new message, subject is passed to get Gemini project Id
- Error tag looked for in body of email, check error against current issue
- If issue exists leave message, if not create issue in Gemini, pass in body and subject
- Email sent to project team with details of new issue
ELMAH - Error Logging Modules and Handlers for ASP.NET What is it? ELMAH is a tool developed that plugs into an ASP.Net website and logs errors within the application, without the need to re-deploy the application. For more information on ELAMH look at the Google project page http://code.google.com/p/elmah/. Microsoft Exchange Server Web Service What is Microsoft Exchange Server Web Service? Exchange web service is an API into the exchange server; it allows you to carry out many of the tasks you are able to do within Outlook but through a programmable interface. How to get going Exchange has its API open already; the only thing that is needed is to make sure you have an Exchange user that you can use for the development work. Within Microsoft Visual Studio the first task is to create a web reference to the Exchange interface; once this is done it will open up the API for the developer to use. There are some basic rules for the Exchange server. Once you connect, it return a web reference object and you must use this object all the way through the process. Connecting to Microsoft Exchange Server To connect you need to request a “ExchangeServiceBinding” object from the Exchange web service, once you have this object you can pass it around the application and use it where needed. You can connect to the inbox and get all the messages, once you get a list of messages you can then go through each one. When you get the list of messages back there are some properties associated with it such as sender, but other properties such as subject and the body of the message are stored within another method. For each message you will need to get back the whole message using “MessageType”. This allows the whole message to be received and then from this object you can get all the properties of the message. These properties can then be pasted into the Gemini API. Gemini Web Service API What is Gemini? Gemini is a web based issue tracking system developed by Countersoft (http://www.countersoft.com/products/gemini/Control.aspx). Why do Altius use it? Altius has service level agreements (SLA) with clients and the Gemini system is an interface between Altius and a client. Gemini is used to track project issues and change requests from creation through to resolution. The main advantages of using an issue tracking system are: - It provides easy logging of issues without needing to worry about who to contact
- Allows all interested parties to:
- View all issues
- View the current status of a given issue
- Keep track of the issues and who is assigned to each issue
- View a complete history of the issue
- Provides a knowledgebase so that other Altius team members can understand the previous action taken when similar issues are raised.
About Gemini Countersoft has developed Gemini since 2003. It is written using the Microsoft .Net Framework. Over 5000 companies are using Gemini, with many different sizes from small to enterprise companies. In the latest release of Gemini (3.6) there is a REST API that supports XML and JSON. Gemini has a .Net API which is accessible through three DLL’s and this API provides access to most of the Gemini functionality. Pros and Cons of using Gemini Manually - Pros
- It provides easy logging of issues without needing to worry about who to contact
- Allows all interested parties to:
- View all issues
- View the current status of a given issue
- Keep track of the issues and who is assigned to each issue
- View a complete history of the issue
- Provides a knowledgebase so that other Altius team members can understand the previous action taken when similar issues are raised.
- Everyone who is linked to a project is notified of any issues
- Cons
- Raising an issue manually can be laborious
- People ignore the error and don’t raise an issue
- Mistakes can be made
The Gemini API Within Visual Studio I created a Window Console application, and added the three DLL’s as a reference. These libraries provide simple access to the Gemini API via web services within your application - CounterSoft.Gemini.Commons.dll
- CounterSoft.Gemini.WebServices.dll
- Newtonsoft.Json.dll
The "Commons" assembly contains Gemini entities such as IssueEN, ProjectEN, ComponentEN, etc. The "WebServices" assembly provides easy communication to Gemini REST Web Services -- it provides the ServiceManager class. Once you import these references into your project the whole Gemini API is available to you. For more information about the Gemini API documentation visit: http://api.countersoft.com/Default.aspx. This webpage has an index of the API and details all the methods that are open to a developer. Creating an issue in Gemini is simple - the key is preparation. Before you start on an application you must set up the project, add users to the project and select the default settings. Setting Up Gemini Within each projects is a project administrator who is a user who has the appropriate rights to administer the project. Once the project has been set up, the appropriate permissions have been set and the users who will be working on the project have been added, the administrator can set the default values. For the next set to work in creating a partial issue there are several fields that must be set: - Affected Versions
- Component
- Risk Level
I would personally set other properties such as, priority, visibility (everyone) severity, resolution (unresolved) and status (unassigned). Dates and work can be left blank and type (bug in example) is passed in through the issue as an issue type. I found that creating a Automated Gemini User was best way as this could be used throughout all the different projects held within Gemini, but you must remember to add the user to all the projects that will use automated issue creation. If you do not, then the process will return an error as the user does not have the correct access. The project also needs to be set up correctly with project users having the correct email notifications otherwise a issue will be created and nobody will be notified. The Coding Now you can go ahead and code, open Visual Studio and add the reference to the solution. Now you are ready. The code below shows what you need to create a partial issue within Gemini. 1: private static bool RunGemini(string summary, string description, int projectId)
2: {
3: bool success = false;
4: //log into the SLA system
5: string txtURL = @"Gemini URL";
6: string txtUserName = "username";
7: string txtPassword = "password";
8:
9: try
10: {
11: //log into the SLA system
12: ServiceManager serviceMrg = new ServiceManager(txtURL, txtUserName, txtPassword, "", false);
13:
14: //get the users details
15: UserEN user = serviceMrg.UsersService.WhoAmI();
16:
17: //create instance of the issue class
18: IssueEN _issue = new IssueEN();
19:
20: //------------------- create the issue ------------------------------------
21: //get the project id "168" = Test Project
22: _issue.ProjectID = projectId;
23: //issue title
24: _issue.IssueSummary = summary;
25: //issue description
26: _issue.IssueLongDesc = description;
27: //user whole logged the project
28: _issue.ReportedBy = user.UserID;
29: //isseue type -> 11 = "bug"
30: _issue.IssueType = 11;
31:
32: //send the issue to the SLA system
33: IssueEN iss = serviceMrg.IssuesService.CreatePartialIssue(_issue);
34:
35: //successfully logged project to the SLA system
36: Console.WriteLine("Issue has been logged");
37:
38: //set the return value
39: success = true;
40: }
41: catch (Exception ex)
42: {
43: //throw exception if it has failed
44: Console.WriteLine("Error: " + ex.ToString());
45:
46: //set the return value
47: success = true;
48: }
49: //returns the result
50: return success;
51: }
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
You still need to set the correct URL, username and password for your instance of Gemini. You then pass in the issue summary, issue description and project id. This has now created an issue by taking information passed in and the information taken from the issue defaults.
Then run the code with some parameters
RunGemini("Test Issue For Blog", "This is a test issue for my blog", 168);
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
If you open up Gemini, login and navigate to the project you still now see the project details and the issue just created.
Image below shows the project summary:
Image below shows the issue:
From the image above you can see that the issue has been created and the correct issue summary and description have been passed in. The blue box on the left shows the default settings that have been set for this project to allow the issue to be created.
|
-
At Altius Consulting we use an issue tracking system to help our clients report any problems quickly and easily (once they have signed a Service Level Agreement (SLA)). The system we use to track these issues is Gemini - an application developed by Countersoft (www.countersoft.com). For some of our clients, we have developed ASP.NET front ends providing them with easy access to reporting, etc. A Google tool ELMAH (Error Logging Modules and Handlers), can then be linked into the ASP.Net website, detecting and reporting any errors that occur within the application. Within ELMAH all the unhandled errors are sent back to a mailbox. Developers can then access and investigate any reported errors within the mailbox. Unfortunately there is no way of flagging and tracking these issues once they land in the mailbox and it takes extra project management time to assign and sort these issues. Gemini obviously has the ability to provide this tracking facility, but does not naturally link in with the ELMAH mailbox. So, how do we get emails from the mailbox into Gemini? One solution would be to use the Gemini Scheduler; however, this would require a new mailbox for each project, and the need to change the EMLAH configuration for each application, which doesn’t really solve the problem. To solve the problem, we have developed a small windows application that reads the exchange mailbox inbox regularly, creating an issue within Gemini using the Gemini API whenever a new email is detected. All the details are copied from the email into the newly created issue and the originating email deleted. Duplicate detection has also been set up, so that any issue generated within Gemini with the same name as another issue will not be created. This has several benefits: - People do not need to keep checking the mailbox.
- The issue can be tracked so that people can see how the fix is progressing.
- It reduces wasted time for project managers, who no longer need to read multiple emails.
- It allows Altius to use and manage one mailbox for all ELMAH issues and these get assigned to the correct project.
A technical blog will be following soon.
|
-
A couple of weeks ago Microsoft released the latest version of Silverlight (version 4). This release has lots of new features and capabilities, Scott Guthrie has a great Silverlight 4 Release Blog. One of the recommended installs is the Silverlight Toolkit, this toolkit has a collection of controls, components and utilities made outside the normal release. When looking through this page I noticed a new section which has some Silverlight 4 samples. The application can be viewed in the browser from http://www.silverlight.net/content/samples/sl3/toolkitcontrolsamples/run/default.html and it supports out of browser.  This application shows many Silverlight tools and gives you the XMAL and code behind files to allow you to use them within your own application, very useful if you are new to Silverlight or looking for a tool with a specific need. As Silverlight is being integrated into SharePoint 2010 it will be fantastic for data visualisation. The toolkit can be downloaded from here and you will also need to have Visual Studio 2010 and the Silverlight 4 Tools and SDK installed. Once everything is installed the toolkit will allow you to drag on the extra controls to your canvas.
|
-
Microsoft is poised to unleash its latest set of SharePoint products upon the software market. Some names are changed, certain tools are reassigned to different product lines, and Microsoft has introduced several new features. Still Available in Both Flavors Many existing users were first introduced to SharePoint through Windows SharePoint Services (WSS), which is a free download with Windows Server. Enterprises that needed more functionality would purchase the full Microsoft Office SharePoint Server (MOSS) platform. Although the 2010 offerings do not include a product called WSS, the ability to freely download a reduced functionality version of SharePoint with Windows Server has been preserved. Table 1. SharePoint Name Changes | SharePoint Offering | Pre-2010 | 2010 | | Technology included with Windows Server | WSS (current version: WSS 3.0) | SharePoint Foundation 2010 | | Separately licensed collaboration platform | SharePoint Server (current version: Microsoft Office SharePoint Server, MOSS 2007) | SharePoint 2010 | Many Organizations Planning an Upgrade 69% of the organizations that were recently surveyed are planning to upgrade their current SharePoint environment within the next 18 months (Source Info-Tech group). Most of the interest lies with the paid-for version, SharePoint 2010, rather than Foundation 2010 (Figure 1). Figure 1. Upgrade Plans of SharePoint by Version  In the past, Microsoft has been very successful using WSS as an effective pull-through strategy for MOSS. In 2007, more organizations were using WSS than those using MOSS. The numbers switched in 2009, where MOSS held 64% of the total SharePoint users. This trend is expected to continue in the next 18 months with the upcoming releases. When evaluating products, it is critical that the functionality provided with Foundation 2010 is compared against organizational needs. Figure 2. Figure 2. WSS vs. MOSS SharePoint Usage  New in 2010 Below is a compiled a list of changes based on early documentation from various Microsoft sources. This information is subject to change prior to the official release of the products. The lists below apply to both SharePoint Foundation 2010 and SharePoint 2010. Technical Requirements: - 64-bit servers only
- Windows Server 2008 64-bit with SP2 or Windows Server 2008 R2 64-bit
- SQL Server 2005 64-bit with SP2 or SQL Server 2005 Express 64-bit or SQL Server 2008 64-bit or SQL Server 2008 Express 64-bit
- Level 1 browsers (full functionality): Internet Explorer 7 or 8 32-bit, Firefox 3 32-bit on Windows
- Level 2 browsers (limited functionality): Internet Explorer 7 or 8 64-bit, Firefox 3 on a non-Windows OS, Safari 3
Administration and Security: - Custom-coded applications can be deployed as sandboxed solutions.
- Workflows no longer have to be associated with a list – they can be placed at site-level. Rich workflows can accommodate even more complex business scenarios.
- PowerShell support enables more advanced scripting capabilities.
- New logging Object Model for improved insight into server usage and performance.
Integration: - While WSS 3.0 supported Silverlight hosting within Web Parts, the new version will provide dedicated Silverlight Web Parts.
- Business Connectivity Services (BCS), called Business Data Catalog in MOSS 2007, is now offered in both SharePoint Foundation and SharePoint 2010. The new version is aimed at simplifying the connection process.
Features: - The new version implements the Ribbon interface, with buttons in groups and tabs like in Microsoft Office.
- The master pages for creating new site content have been restructured.
- Users can have alerts sent as Short Message Service (SMS) messages to their mobile devices over Office Mobile Service Protocol.
- Improved mobile device experience that adds many new types of mobile pages and public mobile controls. There will also be a new SharePoint Workspace Mobile client for Windows Mobile devices so that Office content can be taken from SharePoint offline.
Additional features available in SharePoint 2010: - Improved social networking tools such as activity feeds, personal blogs, microblogging, and tagging.
- New Enterprise Content Management features such as digital asset management, document IDs, metadata navigation and filtering, updated records management, and eDiscovery.
- Enhanced search features include a more interactive search experience, a ranking model schema, expanded relevance factors for social data, improved people search with social networking, expertise algorithms, and a new phonetic algorithm.
- PerformancePoint Services is now a feature in SharePoint 2010.
- Composites is a new piece that empowers end users to create their own no-code solutions through a set of building blocks, tools and self-service capabilities.
The full server version of SharePoint 2010 will include additional enhancements in integration with related software: - Visio Services enables real-time Visio access through the Web-based SharePoint interface, eliminating the need for Visio installation on the client. Visio Services does for Visio what Excel Services does for Excel.
- The Office 2010 application SharePoint Workspace (formerly Microsoft Office Groove) extends the offline capabilities of Groove, allowing users to work with entire SharePoint sites offline. Together with Office 2010, multiple people can now simultaneously author content on a SharePoint site.
- Interoperability between calendars in SharePoint and Exchange has been expanded.
- New features in SharePoint Designer 2010 include a revamped UI based on SharePoint artifacts instead of file structure, a customizable Ribbon and Quick Access Toolbar, as well as simplified settings management.
Recommendations - Factor in the server costs – hardware and software. SharePoint 2010 and SharePoint Foundation 2010 are not available in 32-bit, which means they must be installed on 64-bit servers running the 64-bit editions of Windows Server 2008 and SQL Server. Unless the enterprise already has the new servers and software in place, adopting SharePoint 2010 will be an expensive undertaking. Enterprises looking to upgrade an older version of SharePoint should schedule the implementation to coincide with planned server upgrades.
- Windows Server 2008 64-bit users should try SharePoint Foundation.Enterprises already running Windows Server 2008 64-bit should take advantage of SharePoint Foundation 2010 when it is officially released, since the license will be included with the server software. Most of the SharePoint-using enterprises interviewed by Info-Tech began with a pilot implementation of the included version (WSS). Enterprises new to SharePoint can begin to assess its capabilities with Foundation 2010.
- SharePoint 2010 is an all-in-one solution for organizations looking for both collaboration and content features. In the past, organizations had to look at add-ons for more advanced collaboration features that could be added onto their existing SharePoint content repository. Organizations looking for more advanced enterprise collaboration features may now find what they are looking for in SharePoint 2010.
Bottom Line SharePoint 2010 introduces several shiny new names and interfaces. Most notably, the additional collaboration features now make SharePoint 2010 a more comprehensive platform which organizations should consider for both enterprise collaboration and content management.
|
-
For those interested there was a new PowerPivot component architecture blog that was just posted on the official PowerPivot Team blog, see http://blogs.msdn.com/powerpivot/archive/2010/03/22/powerpivot-component-architecture.aspx. This is an excerpt of an upcoming SQL Server technical white paper called “Microsoft SQL Server PowerPivot Planning and Deployment”) Some key highlights: Executive Summary: Microsoft® SQL Server® PowerPivot is an innovative data analysis technology that redefines how organizations of all kinds deliver and succeed with business intelligence (BI). The focus shifts from IT delivering corporate BI solutions to a managed BI collaboration environment that gives users the power to get timely and reliable information to make more relevant decisions. PowerPivot does not replace corporate BI, but complements it with managed, self-service solutions. PowerPivot in Excel Now, PowerPivot for Excel 2010 takes the self-service BI capabilities of Excel to an unprecedented level. As a separate add-in, PowerPivot exploits the familiarity of Excel while adding an in-memory BI engine and new compression algorithms to load even the biggest data sets into memory. Users can process enormous quantities of data with incredible speed. Processing millions of rows takes about the same time as processing thousands, and by using Data Analysis Expressions (DAX) in addition to standard Excel features, power users can easily create advanced workbook applications that rely on data relationships between tables as in a database, include calculated columns and measures, and aggregate over billions of rows. In many cases, PowerPivot for Excel 2010 can establish the table relationships automatically. Workbooks become more powerful and more mission-critical than ever. While PowerPivot for Excel 2010 extends the capabilities of Excel on the desktop, PowerPivot for SharePoint 2010 complements the capabilities of Excel Services in a SharePoint farm. Excel Services provides the foundation to share workbooks as interactive, Web-based reporting tools. Excel Services also supports integration with other BI features and technologies, such as SharePoint Report Center, SQL Server Reporting Services, and Microsoft PerformancePoint® Services 2010. PowerPivot also adds its own front-end Web service so that PowerPivot for Excel 2010 and other client applications can access PowerPivot data in SharePoint directly. Creating a self-service BI environment with PowerPivot and SharePoint Establishing a managed, self-service BI environment entails deploying the PowerPivot for Excel 2010 add-in on workstations running Microsoft Office 2010 and PowerPivot for SharePoint 2010 on SharePoint application servers. These deployments can be performed independently. The PowerPivot for Excel 2010 add-in does not require a SharePoint environment and the SharePoint environment does not require PowerPivot for Excel 2010 on all workstations. The Excel add-in is a requirement only for those creating and publishing workbook applications. Other users can access published workbook applications in SharePoint via a Web browser, with the same performance and most of the features as the Excel client. However, planning and coordination are required to determine the best deployment sequence and configuration options, provision adequate storage capacities and system resources, and optimize the managed BI collaboration environment for high availability and performance. PowerPivot Benefits and Advantages | | User-Related | | | · Maximized utilization of familiar Excel features, such as the Office Fluent™ user interface, PivotTables, PivotCharts, and the new Slicers feature. · Fast calculations and advanced analysis capabilities, such as through automatically established data relationships and DAX expressions, which make actionable insight readily accessible to everyone. · More and faster answers by combining massive amounts of data from a multitude of sources, including relational databases, multidimensional sources, cloud services, data feeds, Excel files, and text files, in the corporate network and on the Internet. · Access to relevant information virtually anytime and from any location through PowerPivot galleries in SharePoint. | | | IT-Related | | | · Increased IT efficiency associated with monitoring and managing mission-critical self-service BI applications in the enterprise. · Increased consistency, integrity, security, and compliance, reliability, and scalability for self-service BI applications based on standard SharePoint-based features. · High degree of data accuracy for decision-making through automatic data refreshing. · Reduced IT backlog by delegating BI support responsibilities to power users in each department. | | | Business-Related | | | · Increased business agility through better, faster, more relevant decisions. · Increased employee and team productivity through shared self-service BI applications. · Maximized ROI into SQL Server 2008 R2, SharePoint Server 2010, and Office 2010. · Reduced operations costs associated with maintaining and supporting self-service BI applications in the enterprise. | Our take PowerPivot will provide a compelling reason for all the businesses who skipped Office 2007 to upgrade to Office 2010. It will also help the take-up of self-service BI and provide more business value and insights into the information locked in companies vast amounts of data and also increase the adoption and usage of underutilized SharePoint deployments. It will place vastly more power in the hands of users and will help them complete reporting tasks that took hours (or longer!) in minutes while also providing a great deal of additional functionality. However, PowerPivot cannot wave a magic wand and provide the business with the answers they need. Accurate business decisions require accurate corporate data sources, that have potentially been data cleansed, aggregated and sourced from various other non-Microsoft databases such as Oracle and SAP etc. Therefore to take full advantage of this promising new technology it will require changes on by both the database team and end-users.
|
-
Board is a BI and Performance Management toolkit which allows you build solutions quickly and easily. It contains it’s own OLAP engine and allows dashboard type screens to be built to give end users insight into the data in a short space of time. This blog will show how quickly it’s possible to build a report from data residing in a database. I have some sales data held in a fact table in a star schema with three dimension tables to provide descriptive info (Product, Customer, Store). The schema looks like this: First in Board I create some entities to hold the data from the entities tab: I now populate these with data from the cube using the data reader functionality. First I define what data will be loaded to the entities from the Database. It’s just drag and drop and the SQL is automatically created: I create three dimensional data readers and run them to populate the entities in Board. This data is stored within Boards own OLAP DB engine: I create a cube (Sales) which I want to load. To do this I configure a new cube with Day, ProductName, StoreName, CustomerName entities from the cube tab. I then create a fact load data reader and run it to populate the cube:  Now the cube has been populated with data I can create a screen and configure data viewers to show the data. To do this: - create a new screen
- drag a data viewer onto the screen
- right click to configure it
- double click to add a new data block
- select data cube to see (Sales cube) click OK
- select the axes tab and drag on storename and productName to rows and month to columns, click ok
Screenshots shown below (select dataview, right click, select block, select cube, ok): Then set up the axes for how you want to cut the data just like a pivot table (storename and productname or rows, and Month on columns in this case): This produces the following report. This makes use of the default hierarchy in the time dimension (Day> Month > Year) to aggregate date data: The report can be improved by adding charts, filters etc to create the beginnings of a rich interactive dashboard for the end users: 
|
-
Extracting value from unstructured data files has always been a tricky task with no obvious solution. Any attempts to design a custom solution would undoubtedly take more time than it was practical or worthwhile to do and involve a large amount of hard coding. Any implemented solution would have to be flexible and cope with frequently changing source files and be quick to implement, enter Informatica PowerCenter and the Unstructured Data Option. The Challenge Our oil & gas client received dozens of drilling reports each month in multiple formats and were manually extracting the key data they required manually by hand. The data stored within the data files was used for three main purposes: - Monitoring operating performance;
- Accurately determining when new wells came online and started producing; and;
- Tracking and controlling spend.
Despite the plethora of information available in the reports only a small subset was being recorded because to the high overhead associated with capturing the data. In mid-2009, due to an acquisition, the volume of drilling reports received monthly by our client increased dramatically to many thousands per month. Clearly it was not practical to continue capturing the data by hand and an alternative approach was required. The Solution After examining the available options, of which there were few, we advised our client to invest in Informatica PowerCenter with the Unstructured Data Option. This product gave us the ability to seamlessly access, discover, and integrate data from virtually any business system, in any format, including data locked in documents and industry-specific data formats. The ability to access and process any data format increased the teams productivity and saved costs by eliminating the need for manual intervention and improved business responsiveness and agility in their competitive market. In our solution we implemented the following process to import the data for reporting and further analysis: - Various multi-format PDF documents are received into a Windows file system folder
(As an alternative to the Windows folder it is possible to extract file straight from an Exchange Mailbox) - The folder regularly parsed for new files, processes each file and extracts the data into a SQL Server database
- SQL Server Reporting Services (SSRS) is used to provide various on-demand reports
This solution solved the immediate needs of the business and from here many further improvements can be made. The key point is that once the data is in database it can be used in many different ways to provide value to the business. For more information on the Informatica PowerCenter Unstructured Data Option review this datasheet: http://www.informatica.com/INFA_Resources/ds_unstructured_data_6668.pdf
|
-
Issue: To Create a Pivot table styled SSRS report and show and hide columns based on user options. Initial issue was to move rows of data into columns. Original approach was to use SQL command 'Pivot'. But the issue faced was the fixed column names that the Pivot command expects. Too many columns made the query ugly and unreadable. Second approach was to modify the SQL query to return all the rows into columns. Temporary tables used to parse the original dataset and build a final dataset with all the required columns. Issue with this was the SQL query is repetitive and affects the performance. With the above 2 approaches, simple table can be used to layout the SSRS report. Also using the adding report parameters for various view options, table columns visibility can be modified. To improve the SQL query readability and performance, we could use a different tool in the report rather than a table. That would be Matrix tool. By using the Matrix in the layout, it takes care of the pivoting of the dataset. Fig. Matrix tool in SSRS Report Layout With the pivoting of data taken care by the matrix, next is to modify the visibility of the columns. When the visibility of the matrix column is set to false, the data is not displayed but the position or the width of the column is not modified. When column 3 out of the 4 columns is hidden, then the width of the matrix remains the same with a blank column 3. Fig. Matrix tool Visibility issue in SSRS Report Layout Solution: This visibility is a known issue in 2005 version. One way to overcome is to make multiple copies of the same matrix and remove the various columns in each of the matrix copies. Next step is to hide and show these matrices based on the option picked by the user. At a given time there should be only one matrix visible and others hidden. This approach works great until the number of copied matrices increase. In my case I had to create 7 copies of the original matrix. There is a major performance issue with this multiple matrices solution. Each time the report is generated all the 8 matrices must have data loaded. There is no way to populate matrix on the fly. Changing the visibility of the matrix could be faster, but the initial load time is not efficient. Improving the above approach is to make each of the copied matrices into a separate report. All these reports can be added to the main report as 'SubReport'. Each of these sub reports have the same stored procedure, but also takes in a special parameter. This parameter is responsible for determining which sub report to populate. Only for one instance the dataset comes back with values. For other instances the dataset comes back empty. This makes only one of the subreports to display. Advantage with the sub reports is that it avoids data being loaded more than needed, which improves the performance. This issue, collapsing the hidden column, looks like has been solved in the later versions of SQL Server, in 2008 version. Tablix is a new tool in the 2008 version which solves all the above mentioned issues. It’s a combination of table and matrix. For more details http://msdn.microsoft.com/en-us/library/bb934258.aspx
|
-
Microsoft continues to innovate in the mapping space by integrating many different data sources, from Flickr, World Wide Telescope and more, and accurately compositing them into a fluidly integrated 3D world which truly moves us beyond “just Street View”.
How long before the datasets that are limited to dashboards or reports become visual overlays over live video footage embedded in a front end like this? Why are my sales figures for this store down 20% this month – that’s because of the building work on the doorstep I can now see. As a tool for making data more discoverable, the technology now available is empowering whole new levels of user experience.
From: http://blog.ted.com/2010/02/augmentedrealit.php
|
-
-
Day one of my SharePoint 2010 adventure and I'd like to share a workaround that I've found quite helpful as I've run across some minor difficulties in deploying my solution.
After making changes to one or more web parts in my solution I'll occasionally receive the following error while trying to redeploy: "Error occurred in deployment step 'Retract Solution': the language-neutral solution package was not found"
I have yet to discover the underlying cause of this error, but I've found the simplest solution to be to temporarily adjust the active deployment configuration of the project. Here's what I did:
* Right-click on the SharePoint project and choose "Properties" * Select the "SharePoint" tab * Create a new active deployment configuration selecting all of the available deployment steps except "Retract Solution" (no need to worry about the retraction steps obviously) * Click "OK" to return to the SharePoint properties * Select your new active deployment configuration from the drop-down list and save your changes. * Redeploy your solution * Don't forget to change your active deployment configuration back to the proper selection (most likely "Default")
Hopefully this will take care of your deployment error as easily as it did for me.
|
-
One thing I’m really looking forward to in 2010 is the release of OBIEE version 11g, sadly we have been looking forward to this for a while, but it seems the wait is nearly over. I thought I would list some of the new features I am most looking forward to, based on the demos and presentations I have seen over the last year and various notes I have scribbled. 1. New start page for the UI – This doesn’t seems to have changed much from one demo to another over the last twelve months, which is a good sign, it looks more up to date and similar to other vendors offerings. There is a familiarity to graphical browsing by folders that most people should feel comfortable with. 2. OLAP support – As the core of Altius’ Oracle business are Essbase and Hyperion planning, I see better Essbase support as critical to successful deployment of OBIEE as the reporting platform for such applications, whilst the support in version 10 is ok, and Oracle have worked to iron out many of the bugs, there is still a lot that could be done, things like switching between member names and aliases, and full support for attribute dimensions. 3. Pivot tables – ok this is a bit cheeky as it could be included above, but it is such an important item. Although there is a lot one can do with the current pivot tables once one knows the tricks, the new pivot tables with member based drill in place will be a massive improvement. 4. Improved charting and visualization – I must admit to not having seen a lot of these much vaunted improvements, but the mock ups looked good. In truth these probably represent OBIEE catching up with some of the competition, but they are sure to be eye catchers welcomed by the sales team and things like range or time line sliders do also add value through improved usability. 5. Mapping and spatial integration – Although possible in the current version of OBIEE, it isn’t that straight forward and users have high expectations thanks to the likes of Google maps . 6. Scorecards, KPI’s and cause and effect maps – Not every ones cup of tea, and not suited to all deployments, but these have been BI staples for a long time and appear in a number of other vendors offerings. 7. Action framework and BPM – As the need to audit and regulate grows, these two things could become increasingly important, especially where a business needs to ensure a particular course of action based on business rules. ADF and customisation – Last but not least I’m really keen to see how customisation and extension of the OBIEE core can be handled in ADF. ADF already has the widgets to use an OBIEE repository as a data source, it will be interesting to see how the other side of the relationship works.
|
-
Something I remembered after my last blog was that whilst using OBIEE on a WebLogic platform I realized that there would be differences in the deploying of custom css classes. The usual rules regarding the custom.css file found in OracleBI\web\app\res\s_oracle10\b_mozilla_4\custom.css and copied to OracleBIData\web\res don’t appear to apply, and obviously the location in the oc4j_bi folder isn’t going to apply either. After much fiddling about it turns out the only way that appears to work is to copy the s_oracle10 folder and save a custom version to your systems equivalent of this location: C:\bea\user_projects\domains\WL_OBIEE\servers\OBIEE\tmp\_WL_user\OBIEE\u23xcw\war\res. It appears that this is the only location it needs to be copied to. Create your custom class.
Apply your class to an appropriate report element, and save the changes.
Clear your browser cache and refresh the view.
To alter the class just edit the file.
Clear the browser cache and refresh the view, couldn’t be simpler.
N.B These colours were chosen just to make the demo obvious!
|
-
Having recently installed OBIEE in a multi server environment using WebLogic for the presentation services, I thought the following might be useful especially to those unfamiliar with WebLogic. As you are probably aware WebLogic has replaced Oracle Application Server as the go forward AS product, but at the moment there isn’t an integrated installation option for OBIEE, presumably this is being saved for OBIEE v11. When you install, opt for the ‘Basic’ option and follow the steps as if intending to use OC4J. Once you have installed OBIEE, it’s best to create a dedicated WebLogic domain and server, all this really means is creating a new instance of web logic which will run in it’s own JVM, and can therefore have it’s own memory allocation etc. Create a WebLogic domain. The Weblogic configuration wizard is so simple to follow I haven’t bothered with screen shots for each step. Launch the WebLogic Configuration Wizard.
Select the option to 'Create a new WebLogic domain'. Generate a domain configured automatically to support the following products: (default selection only) Enter username and password. Accept the default SUN SDK. Select ‘YES’ to alter the default Environment and Services settings. Do not alter the RDBMS settings, click next. Change the Listen Port for the Admin server to 7002 or as appropriate to your system. Do not configure any managed servers. Configure the machine setting appropriate to the machine your are installing on. Assign the Admin Server to the machine. Review the domain, click ‘Next’. Enter an appropriate domain name and accept the default location. Click the ‘Create’ button. Check the ‘Start Admin Server’ box and click ‘Done’. Your new domain will appear under ‘User Projects’ (assuming you accepted the default location). Start the Admin Server, wait for the process to complete (cmd window) then launch the admin server console.
Once logged in, this is what you see.
. The next step is to create a new server instance.
Name your server and set the listen port, these will become important in the OBIEE URL.
Click ‘Next’, then ‘Finish’, you will now see two servers listed, click the OBIEE server to open the properties.
On the ‘General’ tab the settings should be as you entered earlier, select the Machine name from the drop down list. Click ‘Server Start’.
In this screen you need to set the following, plus anything appropriate to your environment: Java Home: C:\bea\jdk150_12 Java Vendor: Sun BEA Home: C:\bea Root Dir: C:\bea\user_projects\domains\WL_OBIEE_domain Classpath: C:\bea\jdk160_05\lib\tools.jar;C:\bea\wlserver_10.3\server\lib\weblogic-spring.jar;C:\bea\wlserver_10.3\server\lib\weblogic.jar; C:\bea\wlserver_10.3\server\lib\webservices.jar; Click ‘Save’, then on the Domain Structure navigator panel click servers to return to the Summary of Servers, click the Control tab and check the box next to OBIEE and click Start. The next step is to actually deploy the OBIEE presentation services on the WebLogic platform. Create a new folder with a clearly descriptive name, such as OBIEE_Deployment, and copy into it the Analytics.war file from the OracleBI\web folder, now open a command prompt.
At the command prompt type the following command to unpack the analytics.war archive.
You will see a scrolling list of messages beginning ‘inflated: ‘ as the file is unpacked. Once this process has completed, the exploded archive can be deployed. Return to the WebLogic admin console and follow these steps: In the navigator, click ‘Deployments’.
Click ‘Install’.
Select your deployment folder, and click next.
On the next screen select ‘Install this deployment as an application’, and click 'Next'. Select OBIEE as the deployment target, and click 'Next'. Name your deployment, and select the appropriate security model.
Ensure the deployment folder path is correct and select as shown below.
Click 'Next', and on the next screen click Finish. Under the current setup the URL for OBIEE would be something like http://Address/OBIEE_Deployment/saw.dll?Dashboard, to eliminate the _Deployment element of this, drill into the OBIEE properties and click the configuration tab, scroll down the screen and enter an appropriate name.
Your URL will now be a bit tidier, http://Address/OBIEE/saw.dll?Dashboard Apologies for the length of this post, but I hadn’t seen all this information together in one place before.
|
-
Bing’s version of Google Street View, called Streetside has been launched. I had a play on Bing but I couldn’t find anywhere in England that I could use it yet. If you search on Bing Maps for the a US city, like New York for example you will see Bing maps Streetside in action.
http://www.bing.com/maps/explore/
For more fun, click on the arrow on the left hand side of the map (see below) to open the Applications area.
Under Applications you can add real time Twitter updates to the map:
 I was going to pick a tweeter at random, but the first two I chose were rude, so I settled on this guy David from Manhattan.
Another application worth trying is the Photosynth, to see real life photos integrated in to the maps in a swishy Silverlight fashion.
For more detail:
http://www.bing.com/community/blogs/maps/archive/2009/12/02/bing-maps-adds-streetside-enhanced-bird-s-eye-photosynth-and-more.aspx
|
More Posts Next page »
|
|
|