ექსპორტის SPWeb მეუბნება "InvalidData” თუმცა ეს მონაცემები ძალაშია

I’m in the process of writing an article for the good people at www.sharepointbriefing.com and it involves deploying an list from a development farm to a production farm.  მე მაინც მიჩვეული გამოყენებით stsadm და უნდა დაარღვიოს, რომ ჩვევების, ასე რომ გასროლა up SharePoint 2010 Management Shell and played around using Export-SPWeb to backup my list.  What a strangely difficult thing that proved to be!

I kept getting this error:

image

That error, “InvalidData: (Microsoft.Share…CmdletExportweb"”) was killing me.  I’m embarrassed at how long I struggled with this.

I had previously run into a wall with PowerShell and used stsadm to get around it.  I tried it again this time and I got good results.

I spent a lot of time fiddling around with the –Identity option and then finally with –ItemURL.  It turns out that the ItemURL option requires a full path of the list/library you  want to export without the http://server bit.  ასე რომ,, despite the fact that the Identity argument is pointing to a subsite, the ItemURL is not relative to the Identify but relative to the site collection.

It would have been nice for the cmdlet to tell me what was minimally valid (the Identity in this case) and what was invalid (ItemUrl).  These little touches help people embrace the product.  Not a big ding against SharePoint, but a little one at least 🙂

Hopefully this post will save someone a bit of grief in future.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

თანამშრომლობა TreeNodeBinding in ASP.NET Treeview საკონტროლო

I’ve been working on what I hope will be a soon-released CodePlex project that provides a nice integrated bit of web parts talking to each other via provider/consumer connections for the purpose of exploring a SharePoint site under the covers.  (ეს, რა თქმა უნდა გაკეთებულა აქამდე, but this is a learning project as much as anything else).  This is meant to be a replacement for the windows explorer view of SharePoint 2010 დოკუმენტის ბიბლიოთეკების.

The code has the usual recursive call down the SPWeb’s and SPLists from a given starting point.  The object that does all that traversing builds up an XML string that looks something like this:

<sitecollection url=’http://demo2010a:9090′>
 
<web
     title=’Hello World Sandbox’ 
     Template=’A site for teams to quickly organize, author, and share information, BLAH BLAH BLAH’>

     <სია
        title=’BCC_Health_Services_FAQs’
        Template=’CustomList’
       
listid=’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</სია>

     <სია
        title=’BCC_Notifications’ 
        Template=’CustomList’ 
        listid=’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1-877c-41c0-9063-b9612be80d5e’>
     </სია>

  </web>

</sitecollection>

I expect to clean up that XML before all is said and done.

I want to ultimately get that information up and into a Treeview control.  Not exactly earth shattering stuff.

The challenge I took on here was to connect the tree view to an XML Data Source control instead of manually building up my treenodes as I traverse the tree.  I did this partly because I’m deliberately making things harder on myself (this is a learning project after all) and partly because I have this vague notion that building up tree nodes as I traverse the tree isn’t a good idea for the long term.

The problem with this approach is that the Treeview control doesn’t know about the good attributes on the interesting nodes like “list” or “web” so it shows this output by default:

 

image

That’s not useful.  This is where the TreeNodeBinding class helps.  I can use this to tell the Treeview control how it should interpret the XML.  Here’s an example:

tnb = new TreeNodeBinding();
tnb.DataMember = "list"; // This is the label in the xml for a site.
tnb.TargetField = "listid";
tnb.ValueField = "title";
tnb.ToolTipField = "Template";

This binding tells the treeview that when it finds a <სია> node in the XML, apply the bindings for TargetField, ValueField and ToolTipField.  In may app, these map as follows:

  • TargetField: When someone clicks on a node value, this is what you’ll get for SelectedNode.Value.  This is not to be confused with…
  • ValueField: This is what you want the Treeview to display to the user.
  • ToolTipField: The value from the XML that you want as a Tooltip.

Add that TreeNodebinding to the tree view’s DataBindings and you get output like this:

 

image

I’ll have more on all this as I continue on the project and eventually put this up on Codeplex.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

მოძიება დიდი SharePoint ნიჭიერი

აქ არის კიდევ ერთი მუხლის მე დავწერე კარგი ადამიანი SharePoint ბრიფინგი entitled “Finding Great SharePoint Talent”. The article tries to give some advice on how to find truly good and well-experienced people when you’re looking to expand your staff.

აქ არის teaser:

Teaser

შეამოწმეთ იგი out.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

სარეზერვო-SPSite cmdlet ჩუმად ვერ როდესაც შესრულებული არასწორი ნებართვების

ვიყავი სერვერზე და გაშვებული მოსაწყენი საიტი კოლექცია სარეზერვო ბრძანება ერთად Backup-SPSite PowerShell cmdlet და მიიღო შემდეგი შეცდომა:

სარეზერვო-SPSite : ვერ პოულობენ SPSite ობიექტი Id ან მისამართი: ...  (სრული გაგზავნა ქვემოთ)

image

მე მქონდა საკითხები ამ სერვერზე ასე რომ მე ვფიქრობ, რომ სერვერზე იყო ავად, ან რაღაც.  I switched over to good old stsadm and this time I got a different error:

This operation can be performed only on a computer that is joined to a server farm … (სრული გაგზავნა ქვემოთ)

image

რა თქმა უნდა, it it on the farm and all that, but it did occur to me that I was logged in with my own account and I normally log in as a system account onto this server.  I did that and the backup succeeded.  What I find interesting is that the cmdlet gave me a security trimmed error message.  That’s kind of neat but didn’t help me much :) 

<ბოლოს />

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

Straight to Jail List – Cisco VPN Client

Last summer, I created a “straight to jail” list for the refrigerator.  #1 on the list is Lawrence O’Donnell (for inaccurate predictions), but that’s way beyond the scope of this blog :)  დღეს, I’m adding Cisco’s VPN client to the list, and that’s in scope by a nose.

A bunch of years ago many of clients used Cisco VPN to enable remote access to their site.  Back then, I created virtual PCs for each of these clients and installed Cisco on that? რატომ?  Because Cisco locks your machine up so that you can’t even browse local network printers, let alone dangerous tools like Skype, Communicator and the “~” key.  მაგრამ,  if you install it on a VM, your VM is locked down but not your host. 

I’m reminded of those glory days today because I have to use a Cisco VPN client *again* and it locks me and I have to use it in a minute.  I’d rather blog about how much Cisco VPN client deserves to be in jail rather than use it…

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

SharePoint Fest – დენვერში

მე უნდა საუბარი დენვერში ერთი SharePoint Fest მაისს.  მე ვაპირებ განვიხილოთ ზოგიერთი საერთო ბიზნეს და ტექნიკური გვინდა-to-do ის SharePoint დიზაინერი workflows და ხაზს ზოგიერთი ნიმუშების შეგიძლიათ გამოიყენოთ მათ მოგვარებას.

არსებობს უამრავი სხვა ძალიან საინტერესო პერსონალის მიმდინარეობს კონფერენცია, ასე რომ შეამოწმეთ იგი out: http://www.sharepointfest.com/Denver/

It’s not a free event and I have a discount code handy, so leave a comment or ping me and I’ll gladly give out.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

განახორციელოს გლობალური Pop-up შეტყობინება სისტემა

I wrote up an article for www.sharepoint.briefing.com entitled “განახორციელოს გლობალური Pop-up შეტყობინება სისტემა."  ეს ფუნქცია განხორციელდა საზოგადოებრივი კოლეჯი კომუნიკაცია სკოლა closings თოვლის გამო და სხვ. 

იგი იყენებს საბაჟო სია, იმ ყუთში SharePoint ვებ მომსახურება და ზოგიერთი jQuery უნდა გააკეთოს სამუშაო.

აი teaser:

image

დაწვრილებით მთელი რამ აქ: http://www.sharepointbriefing.com/features/article.php/3918471/Implement-a-Global-Pop-up-Notification-System.htm

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

კავშირი ტექსტური ველი ფილტრები თქვენს მიერ ვებ ნაწილი

მინდოდა ინფორმაციას ტექსტური ველი ფილტრი SharePoint 2010 ჩემს საბაჟო ვებ მონაწილეობას.  I tried using this MSDN article as a basis but the article is either broken or I’m just not following it correctly.

A little more searching turned up Mike Smith’s MSDN contribution აქ (http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/72F1732A-7F93-441E-8644-2E82BBB153D9).

არსებობს უამრავი პერსონალის არსებობს შეერთებადი ვებ ნაწილები, მაგრამ მაიკ სტატია არის ისეთი მარტივი, როგორც იგი იღებს.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

Renaming Web Part Namespaces (ან, One reason for “A Web Part or Web Form Control on this Page cannot be displayed or imported)”

I’ve been working to get my dev chops back and to that end, working on a hobby project that has the following bits:

  • Connected web part that receives a site or site collection URL from an out of the box SharePoint Text Filter web part.
  • This web part looks up all the info about the the selected site, generates an XML package and hands it off to another WP on the page (via connections).
  • 3rd web part receives the XML and does some XSL transform stuff.

I wanted to rename the name space of all the bits to “Nivlag” and I was getting hit up with the following error when I deployed the web part to  my test environment:

A Web Part or Web Form Control on this Page cannot be displayed or imported.  The type could not be found or it is not registered as safe.

This is a beginner’s problem but I thought I’d jot down a note on this anyway.  I caused the error when I right-clicked on the default name space (which defaulted to the project name), selected Refactor and then Rename like so:

image

That did rename things in a bunch of places in the project, but it’s not enough.  You also need to make several other adjustments:

1. Manually open up and edit a file, “ShaerPointProjectItem.spdata”. That an XML file that has a <SafeControls> section.  The namespace rename function isn’t aware of this file for whatever reason, so you need to update the Namespace there manually.

2. Manually edit the .webpart file.  For whatever reason, Visual Studio doesn’t change this reference either.  Change the "<ტიპის>” node to reflect your changed namespace there.

3. და ბოლოს, depending on how you refactored the namespace change, visual studio may have also updated the string that references your .ascx file here:

private const string _ascxPath = @"~/_CONTROLTEMPLATES ……

You may need to change that back.  You’ll because you’ll get an error similar to the following when you try and add the web part to a web part zone on a  გვერდზე:

Server Error in ‘/’ განაცხადის.


The file ‘/_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ does not exist.

აღწერა: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.HttpException: The file ‘/_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ does not exist.
Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

 

Fix the reference there and you should be good to go.

4. და ბოლოს, the actual ASCX file still had a reference (for me) to the old original namespace (the refactor/rename function didn’t fix this).  You’ll know about this error when you try and add the web part to the page and get the following message:

Server Error in ‘/’ განაცხადის.


Parser შეცდომა

აღწერა: შეცდომა განმავლობაში დამუშავება რესურსი საჭირო მომსახურებისთვის ამ მოთხოვნას. გთხოვთ განიხილავს შემდეგ სპეციფიკურ გარჩევის შეცდომა დეტალები და ცვლილებები თქვენი წყარო ფაილი სათანადოდ.
Parser Error Message: Could not load type ‘RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl’.
Source Error:

ხაზი 6:  <%@ Import Namespace="Microsoft.SharePoint" %> 
ხაზი 7:  <%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, კულტურის = ნეიტრალური, PublicKeyToken = 71e9bce111e9429c" %>
ხაზი 8:  <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="VisualWebPart1UserControl.ascx.cs" Inherits="RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl" %>

Source File: /_CONTROLTEMPLATES/RenameNameSpace/VisualWebPart1/VisualWebPart1UserControl.ascx    ხაზი: 8


Version Information: Microsoft .NET Framework Version:2.0.50727.4927; ASP.NET Version:2.0.50727.4927

Edit the .ascx file directly and fix the broken namespace.

ამ ეტაპზე, I finally had a web part living in the namespace of my choosing.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

Performance Point – It არის ის, Not Just for BI geeks Any გაძლიერებული

I wrote up a little article about Performance Point earlier this week and it’s just been published www.sharepointbriefing.com.  აი intro:

 

image

დააჭირეთ აქ, რომ სტატიის წაკითხვა.

მე ვფიქრობ, რომ საერთო ხარისხს პოინტი განვითარების გამოცდილება უხერხულია ამ დროისთვის დრო, მაგრამ ეს აუცილებლად ხელმისაწვდომი.  ამ წინასწარი ვერსიით, it felt like it was simply a bridge too far for most SharePoint people.  The new environment requires getting your hands dirty, but when you get under the covers, it’s quite recognizable.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin