January 2008
M T W T F S S
« Dec   Feb »
 123456
78910111213
14151617181920
21222324252627
28293031  

Archive for January, 2008

25
Jan

Andrew Connell talking around Florida.

This is a treat for anyone living in Florida and working on Share Point MOSS 2007. Andrew Connell is doing some speaking engagements around Florida in January and February 2008.

Tampa Office Geeks (Tampa, FL)

Building a High Performance Solutions on MOSS 2007

» January 29, 2007 @ 6p - 8p
Performance should be one of the top areas of focus on everyone’s mind when embarking on a Internet facing MOSS 2007 site. In this session we’ll look at the built-in caching capabilities added to the latest release of the SharePoint platform, including disk-based and page output caching. In addition we’ll take a look at various hot-button issues developers should be aware of when developing components for a public site built on MOSS 2007. Topics include object model techniques, how to properly manage memory to avoid the dreaded OutOfMemory exception, key sizing numbers to keep in mind when architecting your implementation and minimizing the page payload to speed up those page load times. After this session, you’ll be armed with the power to create high performance and scalable solutions in MOSS 2007.

Sarasota Developer User Group (Sarasota, FL)

 

Building & Incorporating Custom Applications on the SharePoint Platform

» February 19, 2008 @ 6p - 8p
When embarking on the development of a custom application developers face the same things over and over: you need a navigation solution, a security model, a search offering and an easy way to add update / functionality. More advanced applications want a plug in model, a way for site owners and even users to snap in new functionality without a major overhaul to the application. Other applications need to provide auditing capabilities, even alerting mechanisms as well as ways to create scheduled tasks. Before building all of this from scratch, check out WSS v3 as much of this is provided out of the box! Rapidly create new applications leveraging the existing functionality included OOTB in WSS v3. Better yet, don’t like how something works? This platform is incredibly extensible… come see how you can turn it on its head and how to build applications on top of the SharePoint platform.

25
Jan

Wow SharePoint Conference is popular this year, sold out main keynote

Wow here was are over a month away and MS has already sold out the main keynote room for SharePoint conference 2008. Seems like everyone is trying to get on board MOSS 2007 and get ahead as far as they can.

09
Jan

Updating a Entity Framework Beta 3 model after a DB change

The tools for Entity Framework are trailing way behind the Entiy Framework itself. I have been running into a lot of problems lately with changes I make to Table are not reflected in my Entity Model. It is a real pain to have to recreate the entire model every time. So here is what I figured out to fix it. I’ll give a step by step guide.

PreReqs:

You have an existing mode.

You have added a column to your Table.

 

Open the model viewer (GUI).

Right click on open space and select Model Browser. That will bring up the model browser on the right side.

In the MB select you model, right click and select ‘Update Model from Database’.

 

NOTE: The act of updating from SQL will make <!– SSDL content –>(model.ssdl) of your model correct and up to date. The <!– C-S mapping content –>(model.msl) and <!– CSDL content –>(model.csdl) are still broken.

 

To fix the other two, in “Solution Explorer” right click on you model (.edmx) and select “Open With”. Select “XML Edior”.

In the top section <!– CSDL content –> locate your table and add your column. For me it was WorkspaceNavigationType.

 

<EntityType Name=”WorkspaceNavigationType”>
          <Key>
            <PropertyRef Name=”NavigationTypeID” />
          </Key>
          <Property Name=”NavigationTypeID” Type=”Int32″ Nullable=”false” />
          <Property Name=”Title” Type=”String” Nullable=”false” MaxLength=”50″ Unicode=”false” />
          <Property Name=”PeterColumn” Type=”Int32″ Nullable=”false” />
          <Property Name=”Lous” Type=”Int32″ Nullable=”false” />
          <Property Name=”MyColumn” Type=”Int32″ Nullable=”false” />
          <Property Name=”Description” Type=”String” MaxLength=”50″ Unicode=”false” />
          <NavigationProperty Name=”WorkspaceNavigationTrees” Relationship=”HCMS.DataAccessLayer.Models.WorkspaceNavigation.FK_WorkspaceNavigationTrees_WorkspaceNavigationType” FromRole=”WorkspaceNavigationType” ToRole=”WorkspaceNavigationTrees” />
        </EntityType>

 

Go down to the bottom of the XML and located the <!– CSDL content –>  tag and located your table in there.

 

<EntitySetMapping Name=”WorkspaceNavigationType”>
            <EntityTypeMapping TypeName=”IsTypeOf(HCMS.DataAccessLayer.Models.WorkspaceNavigation.WorkspaceNavigationType)”>
              <MappingFragment StoreEntitySet=”WorkspaceNavigationType”>
                <ScalarProperty Name=”NavigationTypeID” ColumnName=”NavigationTypeID” />
                <ScalarProperty Name=”Title” ColumnName=”Title” />
                <ScalarProperty Name=”Description” ColumnName=”Description” />
                <ScalarProperty Name=”PeterColumn” ColumnName=”PeterColumn” />
                <ScalarProperty Name=”Lous” ColumnName=”Lous” />
                <ScalarProperty Name=”MyColumn” ColumnName=”MyColumn” />
              </MappingFragment>
            </EntityTypeMapping>
          </EntitySetMapping>

 

Save the XML, and compile Your done. If you open your model browser, you will see your new column (or changed).

05
Jan

Match databases with applications on MOSS

One of the confusing parts of MOSS is the content DB naming schema. By default it wants you to use a cryptic naming of WSS_Conent_[Random GUID]. I needed to know what DB matched up with what application so I wrote this.

http://waitingimpatiently.com/wp-content/uploads/2008/01/contentdblist.zip

The output is to a file called ConentDB_List.txt in the folder where you run it. The format is below.

Display Name: Agile Portal
   WSS_Content_agiletemplatetest
Display Name: beard.mysite.com
   WSS_Content_beard
Display Name: Cal Test
   WSS_Content_caltest
Display Name: calsandbox.mysite.com
   WSS_Content_calsandbox
Display Name: cmstest
   WSS_Content_cmstest

And Yes you should always avoid the GUID name and name it yourself with a name that means something to you.