Becky Bertram's SharePoint 2010 Tools in Visual Studio 2010 presentation on
Jun-08-2010 at St. Louis SharePoint User Group was
really well-presented and insightful:
Main takeaways: Visual Studio 2010 has many new features related to
SharePoint 2010, making it easier to be productive in the development
environment. The Feature Upgrading, sandboxing, and easier & enhanced
debugging are some of the useful new features. SharePoint assets live on
the filesystem, database, and the GAC, and projects in Visual Studio for
SharePoint give a unified view into all assets.
Details:
Solution Package structure, files not changed from SharePoint 2007 to 2010.
Visual Studio 2008 can be used to create SP 2010 solutions, but it's more
work.
Visual Studio 2010 can be used to create SP 2007 solution package, but it's
not recommended.
Microsoft says one can use Windows 7 to run SharePoint and create solutions
with VS 2010, but her preference is to always use a VM of Windows Server
2008.
Solution Package
is essentially cab file with wsp extension enabling the systematic
deployment and retraction of assets. The solution package gets added to the
Solution Store via PowerShell command:
stsadm -o addsolution
Solution Manifest xml file directs SharePoint 2010 where to place files on
file system; adds safecontrol element in web.config file.
Farm vs Sandbox Solutions scoped at farm level generally run in the IIS
worker process (w3wp.exe) and require an admin to deploy. Sandbox solutions
run in SPUCWorkerProcess.exe, require site collection admin to deploy, and
code has access to API at Site Collection level and lower (SPFarm,
SPWebApplication not available).
There's enhanced multi-tenancy features
in SharePoint 2010. An admin can
lock down system resources available to your solution, and when exceeded,
your solution is retracted (and, optionally, redeployed and activated on
schedule at midnight).
Feature - unit of
functionality; can have dependencies on other features; and feature
dependencies can be daisy-chained. can be activated and reusable. Events
in features' life:
installed, activated, uninstalling, deactivating, upgrading event
receivers can be coded for these events. Note that the "-ing" receivers
hand event (to your code) before the event, while the "-ed" receivers hand
event after the event. For example, when SharePoint is deactivating a
feature, it might remove many lists from the site, so your code can check
permissions and cancel the deactivation.
Feature Upgrading new in SharePoint 2010 Adding additional features to a
Content Type. This could be painful in SP 2007. With this feature upgrading
in SP 2010, it's easy to bring older features up to a state of consistency
with newest solution. There's a good example in the SDK. See also
Upgrading Features.
There's a feature manifest file. This directs SharePoint to serialize the
file and store in SQLServer db.
Declarative vs Imperative programming. declarative is XML schema and XML,
where SharePoint instantiates objects as they are declared in the XML.
Imperative is using the SharePoint APIs, e.g., SPField, SPContentType,
SPList, SPListItem. There's a lot of discussion around which is 'better'
and it's analogous to 'which is a better route to take to downtown St.
Louis?' - there are many ways to solve the problems in SharePoint.
SharePoint tools now come standard with Visual Studio 2010; no need to
install SharePoint related extensions after installing Visual Studio 2010.
A walkthrough in Visual Studio 2010 of creating field, editing its XML file;
content type; list definition (beware scoping as it relates to the add list
instance for this list definition checkbox, which is checked by default);
add new list instance.
If you create a visual web part, know that it can't be deployed as sandbox
solution; only compiled web part can be deployed as sandbox solution.
The Feature Designer is a nice new tool in Visual Studio 2010 allowing you
to graphically edit the XML. There's also, within Feature Designer, the
ability to hand-edit the XML, while it simultaneously validates it.
One can add custom icons to one's featuers, so they're more readily
recognizable in browser in the SharePoint features gallery. Use the 'Add
Mapped Folder' feature in Visual Studio 2010. See pg 14 of A SharePoint
Developer Introduction Hands-On Lab
As an example of adding code for the aforementioned Feature Deactivating
event:
using ( xxxxx ) { // always use using so as to dispose of objects; mem
mgmt
web.lists("vegetables").Recycle(); // will place into SP Recycle bin
}
In a Visual Studio 2010 project properties, right click the project itself,
bring up 'properties.' context menu, and in the project's properties is a
new "SharePoint" tab, where one can Edit Configurations and give
predeployment command, post deployment command, etc. Since sometimes we
want to deploy but not activate features (since features often must be
activated in certain order), this tooling is available in Visual Studio
2010.
One can also direct SharePoint to retract the solution when we're done
debugging it. With SharePoint 2007, to debug, we'd have to attach to IIS
process itself (leading to timeouts, etc.), but with SharePoint 2010 feature
receivers attach to timer job processes which makes debugging much nicer.
Tidbits / Misc:
"14 hive" terminology in SharePoint 2010. See SharePoint 14 hive directory
structure
SharePoint 2010 is using .NET 3.5. Since .NET 4.0 was concurrently under
development, the SharePoint team used .NET 3.5. One can set one's solution
in VS 2010 to target .NET 4.0, but SharePoint will not use .NET 4.0 new
features. We can make use of Silverlight 4.0.
There's an 'Import Reusable Workflow' feature in Visual
Studio 2010 which enables importing SharePoint Designer workspace into
Visual Studio 2010. Becky advises against this.
Slide deck is available at
http://blog.beckybertram.com/Lists/Posts/Post.aspx?ID=99
Tuesday, December 20, 2016
Monday, March 28, 2011
Mar meeting of St. Louis .NET User Group
I saw Randy Walker (blog | twitter | company) give a good talk on soft skills for developers. He stressed humility, confidence, setting level of expectations, performance, gaining respect; all of which lead to leadership.
It was good.
At the end of the night, they raffled off some prizes. My number was called about 4th. I could have chosen a month worth of free Pluralsight online training videos [which Kevin Grossnicklaus spoke very highly of] or the Microsoft Press 70-515 book. I chose the former, but was very tempted by the latter.
It was good.
At the end of the night, they raffled off some prizes. My number was called about 4th. I could have chosen a month worth of free Pluralsight online training videos [which Kevin Grossnicklaus spoke very highly of] or the Microsoft Press 70-515 book. I chose the former, but was very tempted by the latter.
Friday, March 4, 2011
February meeting of St. Louis .NET User Group
I attended the February 2011 meeting of the St. Louis .NET User Group (website|twitter).
Brian Blanchard (website|twitter) gave a good presentation on Microsoft Azure. He shared a lot of information he gained while at Microsoft PDC 2010.
Among the other things he presented, I liked the SQLAzure Connect -- allowing cloud-hosted apps to reach back into on-site systems (SQLServer). And the integration of BIDS and SQL Azure Reporting was good.
As it relates to SharePoint 2010:
Steve Fox (blog) gave this good presentation at PDC 2010:
Integrating #SharePoint w Windows Azure'
Brian Blanchard (website|twitter) gave a good presentation on Microsoft Azure. He shared a lot of information he gained while at Microsoft PDC 2010.
Among the other things he presented, I liked the SQLAzure Connect -- allowing cloud-hosted apps to reach back into on-site systems (SQLServer). And the integration of BIDS and SQL Azure Reporting was good.
As it relates to SharePoint 2010:
Steve Fox (blog) gave this good presentation at PDC 2010:
Integrating #SharePoint w Windows Azure'
I won a Microsoft LifeCam Cinema webcam as door prize.
Thursday, December 2, 2010
Dec mtng of St Louis MS BI Group
Erika Bakse (twitter | blog) gave a good presentation. I took some random notes:
Tuples: Location, Location, Location
e.g., Four dimensions Workbook, sheet, column, row
'[Bikes.xlsx]'Sales 2008'!$B$2
two dimensional grid
Mountain-200 Black, 1/1/2008 bucket has a value of $66,xxx
adding dimensions to your tuple makes your buckets smaller
removing dimensions has the opposite effect
Basic Set Theory
Union, Intersect, Difference, Transform, Project
domain and range of a function
Identities ... cf. DeMorgan's laws
Advanced Set Functions in MDX: Generate
acts like mathematical function f:A->B
transforms elements of A into elements of B
takes each product member from the first set, finds its parent member, then unions all the parents together
Advanced Set Functions in MDX: Extract
removes dimensions, which makes buckets bigger
acts like mathematical projection
f:(X x Y) -> X
first set take sthe cross join of Bikes & Countries and returns those tuples that have a nonempty sales amount
extract function returns just the country members - eliminates the [Product].[Category].[Bikes] member from all the tuples
MDX Essentials by William Pearson
------------------------------------
Clayton Groom (twitter | skydrive) gave a great presentation and demo as well.
Did a lot of demos with Microsoft SQL Server Management Studio (with Adventure Works cube).
Showed Visual Studio 2008 for building SSRS report that utilizes MDX
------------------------------------
Tuples: Location, Location, Location
e.g., Four dimensions Workbook, sheet, column, row
'[Bikes.xlsx]'Sales 2008'!$B$2
two dimensional grid
Mountain-200 Black, 1/1/2008 bucket has a value of $66,xxx
adding dimensions to your tuple makes your buckets smaller
removing dimensions has the opposite effect
Basic Set Theory
Union, Intersect, Difference, Transform, Project
domain and range of a function
Identities ... cf. DeMorgan's laws
Advanced Set Functions in MDX: Generate
acts like mathematical function f:A->B
transforms elements of A into elements of B
takes each product member from the first set, finds its parent member, then unions all the parents together
Advanced Set Functions in MDX: Extract
removes dimensions, which makes buckets bigger
acts like mathematical projection
f:(X x Y) -> X
first set take sthe cross join of Bikes & Countries and returns those tuples that have a nonempty sales amount
extract function returns just the country members - eliminates the [Product].[Category].[Bikes] member from all the tuples
MDX Essentials by William Pearson
------------------------------------
Clayton Groom (twitter | skydrive) gave a great presentation and demo as well.
Did a lot of demos with Microsoft SQL Server Management Studio (with Adventure Works cube).
Showed Visual Studio 2008 for building SSRS report that utilizes MDX
------------------------------------
Saturday, August 21, 2010
cool twitter 'places' feature
Friday, August 20, 2010
stldodn - Intro to Microsoft Business Intelligence
Dean Furness gave an excellent presentation on Microsoft Business Intelligence.
Excel Services allows dashboarding even without PerformancePoint
Excel Services allows multiple people to simultaneously edit Excel spreadsheet, without having Excel client installed on individual desktop
SQLServer
mdf primary data file Program Files ... MSSQL ... DATA
accompanying ldf file
load data, it allocates space, ...
Use SQL Server Management Studio to access data, don't access data files directly
cube is installed in (view it in Windows Explorer) Microsoft SQL Server ... / OLAP / Data
cube data has "*.dim" files ...
cube - different architecture for same data
when denormalize data for performance, changing structure ... similar for cubes ...
with SQL Server Management Studio pivot tables, drag and drop quickly to create slices of data
cube data architected for high speed performance reporting
use Excel (not MDX, no TRANSACT-SQL) ...
cube, structured differently, gives opportunity for drag-n-drop ...
trusted data built for high performance and reporting ...
Excel "Data" tab ...
ODC office data connection file ... stored in SharePoint ...
From Other Sources
from Analysis Services cube ...
instead of "From Other Sources" use "Existing Connections" to get from SharePoint site
bring into pivot table env in Excel ...
Excel as a report authoring tool ...
cube set of information that connects to data that's already out there
create a view on cube ... with Visual Studio and BIDS
save Excel to SharePoint ... saving can kick off a workflow to get ppl to approve it before it gets published ..
get ppl to stop attaching docs to emails
Excel Services - example
1) creates Excel with Excel 2010 on his desktop (thick client)
then thin client:
2) I go to SharePoint to open it ... I don't have Excel installed ... opens directly in my browser within SharePoint
view only mode ... office web applicaton, so "Edit in Browser" ... basic ribbon ...
status bar "1 person editing" ... last one to make a change wins
cube is data platform .... security ... multiple apps can access it
slicers ...Excel dashboard ... remove pivot table floating window... built on multiple pivot tables ...
every time click, running a query against cube ...
one axis months; categories;
Options ... Slicer
instead of 'IT, build me a report, show me where the data connection (and cube) is, and I'm empowered to do it..."
mixed mode SharePoint ... 5000 users use free SharePoint, buy 250 for ppl who need dashboards
office web apps, edit in browser is new in SharePoint 2010
PerformancePoint Services
healthcare demo
Balanced Scorecard
Financial Dashboard -- drill down, click and run another query ...
cube is development effort
first:
business and use case identification and translation
interface and navigation design when click, what shows up ... what shows up next ...
second:
technology
MDX (akin to Transact-SQL), t-sql, .NET
Book "Informaton Dashboard Design" The Effective Visual Communication of Data Stephen Few @OReillymedia
logo does not go in top left corner
top left corner is most important
lines, bars, grids ... try to get users to not scroll ...
SQL SERver 2008 Analysis Services Step by Step Scott Cameron
SQL Server 2008 MDX Step by Step ... Bryan C Smith
microsoft.com/bi -- tons of videos ...
get IT folks to add value to business community ... bus comm to be self-serving ...
StL Microsoft BI users Group ... Wed Aug 25 12:30 - 4PM ...
Excel Services allows dashboarding even without PerformancePoint
Excel Services allows multiple people to simultaneously edit Excel spreadsheet, without having Excel client installed on individual desktop
SQLServer
mdf primary data file Program Files ... MSSQL ... DATA
accompanying ldf file
load data, it allocates space, ...
Use SQL Server Management Studio to access data, don't access data files directly
cube is installed in (view it in Windows Explorer) Microsoft SQL Server ... / OLAP / Data
cube data has "*.dim" files ...
cube - different architecture for same data
when denormalize data for performance, changing structure ... similar for cubes ...
with SQL Server Management Studio pivot tables, drag and drop quickly to create slices of data
cube data architected for high speed performance reporting
use Excel (not MDX, no TRANSACT-SQL) ...
cube, structured differently, gives opportunity for drag-n-drop ...
trusted data built for high performance and reporting ...
Excel "Data" tab ...
ODC office data connection file ... stored in SharePoint ...
From Other Sources
from Analysis Services cube ...
instead of "From Other Sources" use "Existing Connections" to get from SharePoint site
bring into pivot table env in Excel ...
Excel as a report authoring tool ...
cube set of information that connects to data that's already out there
create a view on cube ... with Visual Studio and BIDS
save Excel to SharePoint ... saving can kick off a workflow to get ppl to approve it before it gets published ..
get ppl to stop attaching docs to emails
Excel Services - example
1) creates Excel with Excel 2010 on his desktop (thick client)
then thin client:
2) I go to SharePoint to open it ... I don't have Excel installed ... opens directly in my browser within SharePoint
view only mode ... office web applicaton, so "Edit in Browser" ... basic ribbon ...
status bar "1 person editing" ... last one to make a change wins
cube is data platform .... security ... multiple apps can access it
slicers ...Excel dashboard ... remove pivot table floating window... built on multiple pivot tables ...
every time click, running a query against cube ...
one axis months; categories;
Options ... Slicer
instead of 'IT, build me a report, show me where the data connection (and cube) is, and I'm empowered to do it..."
mixed mode SharePoint ... 5000 users use free SharePoint, buy 250 for ppl who need dashboards
office web apps, edit in browser is new in SharePoint 2010
PerformancePoint Services
healthcare demo
Balanced Scorecard
Financial Dashboard -- drill down, click and run another query ...
cube is development effort
first:
business and use case identification and translation
interface and navigation design when click, what shows up ... what shows up next ...
second:
technology
MDX (akin to Transact-SQL), t-sql, .NET
Book "Informaton Dashboard Design" The Effective Visual Communication of Data Stephen Few @OReillymedia
logo does not go in top left corner
top left corner is most important
lines, bars, grids ... try to get users to not scroll ...
SQL SERver 2008 Analysis Services Step by Step Scott Cameron
SQL Server 2008 MDX Step by Step ... Bryan C Smith
microsoft.com/bi -- tons of videos ...
get IT folks to add value to business community ... bus comm to be self-serving ...
StL Microsoft BI users Group ... Wed Aug 25 12:30 - 4PM ...
Thursday, August 19, 2010
St. Louis Atlassian User Group - First Meeting
At St. Louis Atlassian User Group mtng, Contegix is showing X DocBot and Atlassian's JIRA Studio.
Used for project & security management.
Showed Atlassian Crowd product.
Powerful JIRA workflows.
Used for project & security management.
Showed Atlassian Crowd product.
Powerful JIRA workflows.
Subscribe to:
Posts (Atom)