Malcolm Gin’s SharePoint and .NET Tips

Until I become some sort of MVP (if ever), this blog’ll have to do.

  • Meta

    • Register
    • Log in

Updated to WordPress 2.3.2

31st December 2007


Posted in Blog Administration | Comments Off

Creating and Administering Site Themes in SPS2003/WSS 2.0

12th November 2007

This is probably more for posterity than anything else, as most folks should have been using SharePoint 2003 technologies for almost a year.

But my work site uses 2003 still, with an upgrade coming up in the next few months.

Recently I had to fix some site-wide site templates that had some issues with unghosted and non-functional pages. I’ll look a little into what we think generated the problem, what doing it the “right way” looks like, and how to administer, manage and deploy site themes.

What are site themes? How do they compare to site definitions?

In contrast to site templates, which are a mixture of HTML, ASP.NET and CAML and are difficult to customize and troubleshoot owing to there not being any meaningful testing or debugging configuration, or meaningful development environment - if you decide to go into site definition-land, prepare to use a lot of text editors, lots of incremental testing, and lots of prayer (or whatever substitutes in your life), site templates are actually pretty easy to generate. You use a mixture of the in-SharePoint GUI, themes (which you may have had to generate the hard way) and FrontPage 2003 to create site templates out of a test or design site (you can even use a live site, but it can be more confusing to get it right that way), then use the SharePoint GUI to generate the site template, which then shows up in the site collection site template gallery.

When you’re satisfied with your site template, you can download the *.stp file from the site template gallery and begin to deploy it to other SharePoint site collections via either the global site template gallery (administered with the stsadm.exe utility) or a site collection’s site template gallery (via uploads/deletions through the SharePoint GUI).

If on the other hand you decide to create your own site definitions, you do get slightly better performance, the possibility of creating truly novel sites (site templates, on the other hand, must be based on pre-existing site definitions, most of which are created by either Microsoft or by really big-time development houses that are leveraging SharePoint for the functionality) that do cool things not possible with out of the box site definitions. The problem is that there’s no meaningful development environment for site definitions. In 2005, some of the TechEd presenters got almost cussed out for this failing. I’ve worked with site definitions myself, and let’s just say they’re not for the faint of heart. I worked for 2 weeks on a site definition pilot and I was barely done in time, even though the overall changes to standard definitions we were seeking were really minor. There is no debugging, no testing environment. You just use a VPC running SharePoint and deploy your changes to that and hope they worked, test by creating a new site based on the site definition and cross your fingers and hold your breath. A single error of certain kinds of syntax can keep the entire site from working properly. It can even be difficult to delete a site based on a non-functional site definition.

I’d recommend sticking with site templates if at all possible. They’re saner and easier to work with.

If you feel you must work with site definitions, feel free with my blessing (just don’t ask me to help you). Good starting points: 1, 2, 3, 4.

Things to know

Here’s a list of concepts to be familiar with before you start:

  • The difference between site templates ans site definitions, above.
  • Ghosting and unghosting - Ghosted pages are ones that have not been edited and saved in FrontPage. If you edit a page and save it, even if no changes were made, in FrontPage, you immediately unghost it. This makes maintenance tricky - all look and feel customizations need to be made separately to unghosted pages - and also cuts down performance - each unghosted page is rendered separately from ghosted pages, which get performance bonuses from being based on standard pages from site templates or site definitions.
  • GhostHunter, part of the Web Part Toolkit from BlueDog Limited, helps you identify unghosted pages and reset them to ghosted status (losing any specific look & feel customizations possibly made to the page via FrontPage)
  • FrontPage 2003 - be well enough acquainted with FrontPage that you know how to use it to edit Web Parts and other smart parts in SharePoint without saving changes to the page (and unghosting it, causing problems outlined above).

Doing the Dirty Deed

So you want to make a clean, unadulterated, properly ghosted Site Template?

The process requires careful movement, solid thinking, and not clicking any buttons without really thinking about what you’re doing.

What kinds of changes can you make?

Any kinds of changes that are available with site themes (good links: 1, 2), i.e.:

  • Colors - overall site color themes
  • Graphics, including banners at the top and sides of the page
  • Text font, size, color, placement

Additionally, site templates allow you to customize the behavior of default lists as well as the default lists that any site based on them starts with, including:

  • For any list: Default content, default columns, column defintiions, security, URL/path information, view, any other list setting available through “Modify settings and columns”
  • Lists’ appearance in the quick launch area
  • Upper banner navigation
  • Web Part Page libraries and Web Part Pages and their layouts
  • Default look and feel of default.aspx, not the layout of the web part page, but the web parts that are on it, and how they’re configured, including the default view into any list the list view web parts might point to

The only real trick to any of this is keeping in mind where each setting is, and how to go in and set those settings without messing with the proper ghosting of the pages in the template-creation site.

So, to start I make sure I have the right admin permissions to do what I need, then I usually pick whatever standard site definition is the closest match to the behavior of the site I want. If the site definition has been previously locked of out of display in my dev environment, I get my admin to unlock it in WEBTEMP.XML (a little more about that here, though this is for 2007). I then create a new site, usually in a specially designated site collection for building templates, using that site definition to create the site.

My company already put a bunch of time into properly creating some branded site themes for each of our operating companies, so I make sure those are installed in our dev environment, and I go ahead and apply it to the newly-create site. Then I go about primarily using the raw SharePoint GUI to make the site look as close as possible to what I want it to look like. The only things I generally don’t do in the GUI are editing the horizontal nav bar and potentially also editing the Quick Launch bar (these are for later with FrontPage 2003). So examples of changes here that I sometimes do are:

  • Delete the default Shared Documents document library, recreate one initially named “docs” so that’ll be the URL/path name, then go back and rename it to “Shared Documents”, do any tweaking necessary to columns and create a few useful, typical views based on some metadata or another.
  • Delete the default Issues list, and rename it for a better URL/path name. Add/subtract/edit metadata/columns as needed. Create an initial issue as a sample.
  • Edit the shared view of default.aspx and remove the default Windows SharePoint Services image web part entirely. Insert a Content Editor Web Part with some Javascript that overrides the horizontal nav bar with new text/links and hides the Site Settings behind some other web part page.

When going ahead and using FrontPage 2003, I open, for instance, the site and then default.aspx (make sure editing is enabled in ONET.XML). ONCE default.aspx is open, DO NOT CLICK SAVE or in any way save from this view. When you are done with changes here, just close the page without saving. It’s trippy, I know, but if you don’t do this right, you have to go back and use ghost hunter to undo your unghosting, which is a pain. Anyway, once FrontPage has opened default.aspx, just right-click and choose to edit properties of the various navbars you wish to edit. Use the in-FrontPage GUI to make the changes, click Apply and OK as needed, but DO NOT CLICK SAVE. Once this part is done, close FrontPage to deny yourself the temptation of clicking save.

If you do make a mistake and do click save, you can install the Web Part Toolkit from Blue Dog and then use the GhostHunter Web Part to find and reset any unghosted pages. I’ll defer to the developers’ documentation here for how to do that.

Now that, finally, your site looks exactly like it should, you save it as a template. To do that, go to Site Settings, then Go to Site Administration, and finally Save site as template. If you created any custom content while creating your template site, you need to save that to the template as well. Follow the prompts and your site will be saved to the site collection template gallery (a link will be provided). Follow that link and administer the template’s name there, download a copy as an *.stp file that can be copied to other SharePoint Farms (as long as the destination has the site definition you used to create the template, and the theme you used to create the graphical changes). You can also delete the template from the site collection site template gallery if you like.

If you want to deploy this to a virtual server’s site template gallery (and not have to deploy to every single site collection you may have, which could be quite a few), you can use the stsadm -o addtemplate and stsadm -o deletetemplate to add and subtract, and stsadm -o enumtemplates to list them. You can do this on any SharePoint farm server where SharePoint is installed, so Search, Index and Web Front End servers work. The changes you make affect the whole farm, but only go into effect on an iisreset. So you can single one server out in the farm, use host files to make sure you test against it, deploy your changes and test against that site after issuing an iisreset there, then do iisreset on the rest of the farm servers when you’re satisfied your deployment worked.

A word of warning: The list of active templates is displayed to uses and to the stsadm -o enumtemplates in the order they were added, so if you want the templates to display alphabetically, you need copies of all of the templates that are deployed, plus the one(s) you are deploying, and you need to add them in alphabetical order, by template title. There is no other way to sort them. We ended up writing a couple of utilities to do this. You could script such a thing, maybe working against an XML file that keeps track of site template titles, descriptions and template file names, with the cscript Windows Scripting Host and Javascript, or really handily in PowerShell, if you can install .NET 2.0 on your front end web servers.

Related Resources

Here are some related resources:

Questions?

Feel free to leave questions in the comments!

Posted in FrontPage 2003, SharePoint Designer 2007, Site Definitions, Site Templates, Site Themes | No Comments »

MediaWiki RSS feed on Recent Changes page error

12th November 2007

If you get an error like:

XML Parsing Error: xml declaration not at start of external entity
Location: http://10.2.48.69/hdwiki//index.php?…anges&feed=rss
Line Number 1, Column 2: <?xml version=”1.0″ encoding=”utf-8″?>
-^

When clicking the rss or atom link in your toolbox from the Recent Changes page, you probably have an extra blank line, either before the <? php tag or after ?> tag in one of your settings files or extension files for your MediaWiki.

In my case, I found it in my EasyTimeline Timeline.php extension file. I had two blank lines at the end. Erasing those lines and re-saving the file fixed the issue.

See uncle Google for more information, but the discussion I referred to to fix my issue was here.

Posted in MediaWiki, Troubleshooting | No Comments »

Various

12th November 2007

NOTE: Apparently I wrote this around early-August, but never posted it, so I posted it today after finding the draft in my Wordpress.

- Updated to Wordpress 2.3.1. Apparently some security fixes as well as normal feature updates. Requires a DB upgrade, so be sure to hit that admin link to do the DB upgrade.
- Have been tinkering with using GMail IMAP as a spamfilter and integrating with Thunderbird 2.0+. Using forwarding from old POP3 accounts, I now have a couple extra GMail accounts (for keeping some IDs separate), managed to delete about 7 Thunderbird account profiles and now have GMail spam filter working in conjunction with Thunderbird Junk Mail filtering. I wrote it up (roughly) here: http://health.malcolmgin.com/Using_GMail_to_Filter_Spam
- Mostly doing SharePoint 2003 maintenance at work while we also prepare for SharePoint 2007 (finally - my last job started with 2007 in November of 2006). I’m also doing various other system engineer stuff like working with maintenance, licensing, support, etc. for some other interrelated products my team supports. Still learning, though, so I’m OK on the happiness & fulfillment side, and my commute totals about 3 hours less per day, I mostly get every other Friday off, and I have time and a partner with which to hit the gym 3-4 days a week, work permitting.

Posted in Blog Administration, Gmail, Microsoft Office SharePoint Server 2007, SharePoint Portal Server 2003, Thunderbird, Windows SharePoint Services 2003, Windows SharePoint Services 2007 | No Comments »

Coupla Things - PowerShell and MD5 sums for MS’s MOSS 2007 VPC files

31st August 2007

1) PowerShell

If you are involved in Systems Maintenance and the systems are Windows-based (pref. OS: Windows Server 2003+), you owe it to yourself to check out Microsoft Windows PowerShell. This is a .NET 2.0 shell, yes, but architected from the ground up to enable automation, and it enables all sorts of WMI-interfaces and reflection and so on. Very neat stuff. Go look, go play, go have fun. It’s free, as long as you don’t mind installing .NET 2.0. Also, if you like what you can do at the command line, but are more comfortable with GUI, check out the free project/software PowerGUI, which uses PowerShell’s objects’ reflection to provide a very flexible, extensible PowerShell GUI. You can even easily extend the interface with plugins and tied actions (written in PowerShell) and can easily share those with the import/export functionality.

2) Microsoft’s Office SharePoint Server 2007 VHD

I have finally made time to download this thing (over a couple of hours). It comes in 6 rar parts of 700 MB (the last part is more like 516 MB). I have said before that MS is great at providing downloads and crap at providing things that UNIXers and Crypto nuts have provided for years: Checksums. Why are these helpful? a) You can tell whether anyone’s fiddled with the bits since the original provider uploaded them or b) You can tell whether the bits you were intended to download are the ones you got. This kind of thing is helpful in determining, as in this case, whether you need to re-download the whole 6 part 2 hour festival or just one part. I have downloaded the parts. I am about to uncompress them, and when I do, if successful, I will post the checksums here for each part:

WIN03_MOSS_V1.part01.exe - Size: 734,003,200 bytes - MD5 Sum: 68b5470c605320228f588abe13af4e62
WIN03_MOSS_V1.part02.rar - Size: 734,003,200 bytes - MD5 Sum: 5a309da7ab473921a808298ff293b7fe
WIN03_MOSS_V1.part03.rar - Size: 734,003,200 bytes - MD5 Sum: ddd98c59425b704c37fc43bacacdc418
WIN03_MOSS_V1.part04.rar - Size: 734,003,200 bytes - MD5 Sum: 5549c847e02481ff3eebab2a43f9df3e
WIN03_MOSS_V1.part05.rar - Size: 734,003,200 bytes - MD5 Sum: e423cddc6064aa95624b398ecfeebcfb
WIN03_MOSS_V1.part06.rar - Size: 624,600,967 bytes - MD5 Sum: 64c0d290a32e8f445a3f8992d64198a0

Running the exe and answering the EULA in the affirmative yielded the following four files (unpacking took about 30 minutes on my 2.0 GHz non-hyper threaded Centrino with 2 GB of RAM):

Distributable VHD Image EULA.doc - 101,376 bytes - MD5 Sum: 9a5d93625bd1b42a9e7b65c7e52c8bea
ReadMe.htm - 37,435 bytes - MD5 Sum: 44196d20e67c174cd809734aa79eefe4
WIN03_MOSS.vhd - 10,968,818,688 bytes - MD5 Sum: 6ec5e3d177b1682c28815fd6a2f0e401
WIN03_MOSS.vmc - 14,516 bytes - MD5 Sum: c15ba5b037ceec9d1a4efdce44a99193

Now, these MD5 sums are only what I’m calculating on my end. I can’t guarantee to you that the files are not messed with. I can only tell you that it’s a reasonable certainty that if your MD5 sums match mine, you and I are looking at the same sets of files.

Anyhow, with all that, the files seem to be working properly with Virtual Server (though I must admit I’m new to Virtual Server 2005).

A good MD5 summing utility for Windows GUI (that lets you set a Send To target) is Nullriver’s winmd5sum. It takes a lot less time to sum a small file than a big one. The 10 GB vhd took about 5 minutes.

Posted in Geek Common Sense, Operations, PowerShell, Utilities | No Comments »

Internet Literacy 301: NAVTEQ and you

1st August 2007

I decided that since I’m not solely a SharePoint Guy anymore, I’d add other geeky articles I write (usually for private audiences) here as well.

Here’s one about the mapping data source that provides most of the mapping data you see on Google Maps and GPSes and so on:

NAVTEQ is the mapping data company that supplies most of the major mapping companies and utilities with that data. They provide the address resolution (geocoding), the squiggly lines that map to our real world roads and highways and a lot of Point of Interest data like gas stations, hotels, hospitals, police stations, etc. Anything that later ends up on your view of Google or Yahoo Maps or your GPS in your car or that you walk around with, whatever.

So if you notice a mapping error (not necessarily a directions error), but something like a missing street or the wrong way one way or a missing hotel from the Points of Interest, or that the address you just typed in is on the wrong end of the street, or whatever, NAVTEQ is the folks you need to notify.

Last time i did this (when NAVTEQ was showing a schoolyard as a street and thus GPS devices were directing presumably lost motorists to drive through it), NAVTEQ’s form was clunky and difficult to use, no tracking information or updates were available to you when you submitted a change request, and it kinda sucked. Still, they did eventually get the update out to Google Maps, and I presume to many of the GPS software/devices folks use (they issue updates as frequently as quarterly, but it depends on the vendors who use their data).

Anyhow, now they have a newfangled form that’s integrated into their mapping data and if you enter changes, it provides you a tracking number, and you can tie an e-mail address to the report so you can get updates.

So here’s where to go if you want to enter any updates (don’t fret, it’s mostly a form, and you can attach a document or picture to help with the issue)

Posted in Geek Common Sense, Misc Geeking | No Comments »

Alternate Access Mapping 2007 Research Links

4th June 2007

We must migrated from 2003 to 2007 this past weekend (Friday, actually), and now the mapping is causing problems for our MAC users, who can’t use UNC hostnames, but have to use full hostnames.

So I’m doing some background research on the issue.

Links:
- http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=521109&SiteID=17
- http://technet2.microsoft.com/Office/en-us/library/be9d31d2-b9cb-4442-bfc6-2adcdbff8fae1033.mspx
- http://blogs.officezealot.com/mauro/archive/2007/03/02/20178.aspx
- http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Server/MS-SharePoint/Q_22117646.html
- http://msdn2.microsoft.com/en-us/library/ms771995.aspx
- http://groups.google.com/group/microsoft.public.sharepoint.windowsservices/browse_thread/thread/580e9a2b981c0319/acdd966b3ce3ada8?lnk=raot
- http://blogs.msdn.com/sharepoint/archive/2007/03/06/what-every-sharepoint-administrator-needs-to-know-about-alternate-access-mappings-part-1.aspx
- http://blogs.msdn.com/sharepoint/archive/2007/03/19/what-every-sharepoint-administrator-needs-to-know-about-alternate-access-mappings-part-2-of-3.aspx
- http://blogs.msdn.com/sharepoint/archive/2007/04/18/what-every-sharepoint-administrator-needs-to-know-about-alternate-access-mappings-part-3-of-3.aspx
- http://support.microsoft.com/kb/913113
- http://mindsharpblogs.com/Driskell/archive/2007/05/15/1769.aspx
- http://www.codeplex.com/SLK/Thread/View.aspx?ThreadId=9590
- http://blog.henryong.com/2007/01/17/alternate-access-mapping-in-sharepoint/
- http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=18
- http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=39
- http://www.jjfblog.com/2006/12/how-to-change-server-name-post.html
- http://msmvps.com/blogs/obts/archive/2007/03/27/717296.aspx

For 2003:
- http://office.microsoft.com/en-us/sharepointportaladmin/HA011603021033.aspx

Posted in Microsoft Office SharePoint Server 2007, Operations, SharePoint Portal Server 2003, Troubleshooting, Windows SharePoint Services 2003, Windows SharePoint Services 2007 | No Comments »

Getting Partial and Complete Full Farm backups to restore properly on 2007

14th May 2007

This is my research today/this week, until I get it working and properly documented, at least on our configuation traking Wiki.

Links:

Colleagues have alluded to “The GUID Problem” wherein if you don’t take a site collection’s content database offline before restoring a copy of it to the same farm, you’ll get errors because the GUIDs will match and confuse SharePoint, so the recommendation there is that if you have retroactive data you wish to restore to a different web application/site collection while maintaining your main branch on a prod server, try instead to stand up an entirely different farm, restore to that farm, then use stsadm with the -o export operation to backup the content and then restore it again on Production.

Or better yet, don’t fiddle with Production!

Anyhow, here’s the steps I am going through to get this to work. Again, my situation is that I’m just trying to verify that a full farm backup can have part of its content (one web application’s site collections) restored somewhere else if need be.

  1. Take the full farm backup with either stsadm -o backup -directory \\UNC\path\ -backupmethod full - url http://mossdev1/ or via the Central Administration UI to do the same thing (left as exercise to reader). (Note, you need to make sure that the service account that’s running your instance of SQL Server for the back-end has write access to the filesystem/UNC Path you provide during the backup setup steps.)
  2. Copy the xml files and directory tree generated to a new farm for restore. Share this directory to make sure it has a valid UNC path. Make sure your SQL instance Service Account has full access to the share/UNC path.
  3. Check to make sure there are no failed Job Statuses for Backup/Restore on your target (restore) farm.
  4. Locate the directory where you want to/already store SQL database files (your SQL admin may already have placed this somewhere else on the server or it may go to the default: C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data. Make sure you’ve got proper permissions to write to that directory (I used a very high-level account, permissions-wise, to request the restore, and made sure that it had write permissions to the directory, but am not entirely sure that’s the correct account to configure - need more research here.
  5. Restored part of full farm (only one web application: http://mossdev1:44444/ and one Content Database: WSS_Content_Database).
  6. Because the security model was completely different for the target server from the source server, went into SQL 2005 Management Studio, connected to the proper instance, and found the Content Database (to make sure it was properly restored), opened the AllDocs table to make sure data was in there, and then edited the SQL instance’s logins to make sure that the Farm Service Account had proper rights to access the Content Database (I gave it dbo rights on the database, but you can probably get away with User rights specifically granting Connect rights within the database in question).
  7. Because the host name of the Web Application I restored is different from the VPC’s hostname, make sure that IIS recognizes the proper host header, and that you have DNS or hosts file entries that map to the proper IP address. Go into the IIS Manager, right click the Virtual Server that corresponds to the Web Application you just restored. Click the Advanced button in the Web Site Identification control group on the Web Site tab. In the pop-up box, click the entry for your port, click the Edit button, and add the proper host header value(s) to the Host Header Value text box. If you are changing DNS records, be sure to create an A and a PTR record. If using hosts files, just go to C:\WINDOWS\system32\drivers\etc\ and edit that file!
  8. Because the fact of the different security model probably kept the Content Database from being properly attached to your Web Application, go back and do that manually. Go to Central Administration, choose Application Management. Then choose the Content databases link under the SharePoint Web Application Management section. Click the Add a content database link in the title bar. On the next screen, specify the database server/instance, database name and you can probably leave the other fields at their defaults (unless your organization specifies other settings).
  9. Because of the different security model, you’ll also need to add your current login account to the Web Application’s policy. Do that now. From Central Administration’s Application Management area, choose Policy for Web Application (Under the Application Security section). Click Add Users, then make sure you’ve got the right web application and click Next. Specify the user(s) you wish to have Site collection administration, choose Full Control and click Finish.
  10. Now try out your site restore by going to the URL it should be at. If you’re not sure about that, check out your Site Collection List under Application Management for that Web Application.
  11. If you have any other issues, you may be on your own, because honestly that was enough problems to surmount for me today! :)

Posted in Microsoft Office SharePoint Server 2007, SharePoint Features & Components, Troubleshooting, Windows SharePoint Services 2007 | No Comments »

SharePoint Developer Environments (Esp. 2007)

14th March 2007

About a year and a half ago, our petition at my current work site to create/use developer environments for SharePoint (then 2003) was punted, mostly because the requirements for dev environments are almost completely diametrically opposed to the various security and systems policies at this site. The detente when finally reached was that we could run entirely self-contained VPCs but only if they ran on our (my consulting company’s) hardware and were composed of developer licensed software licensed to my company.

Anyhow, now that 2007’s out, deployed at my current work site, and people are taking seriously the task of converting from MS CMS 2002 to MS SharePoint 2007, among other things, the need for developer environments cannot be denied, and the VPCs my company is creating for such an environment are too resource-intensive to run on our old laptops, so something’s got to give.

As such, I’m doing a lot of research about it to justify/position the arguments for such environments. In general I will have at least skimmed these links, but may not have read them thoroughly. These link dump posts are really something I do to keep track of my current research and provide pointers to those who might need them.

Basic assumptions:

  • You want one server context (IIS/SharePoint) per developer for the initial code-writing steps
    This is for non-shared resources, like web parts, maybe features, etc. Something that a single developer could conceivably do in a short chunk of time in the project.
    The reason is primarily that when you attach VS 2005 to a dll/process during interactive debugging, the step-through operations lock up that application pool for anyone else sharing the same execution context.
  • Your basic virtual machine for this kind of dev work is going to be running Windows Server 2003, Windows SharePoint Services 3.0 and Visual Studio 2005, at minimum.
    In our situation we’ll probably need the whole shooting match, because unapproved SQL servers are not allowed on the open net, and they’re unapproved if they’re not solely administrated by our DBA group. Similar injunctions apply to domain controllers and unapproved DC/AD activity, as well as simply running Windows Server 2003 on a non-server box.
  • If you are allowed to run the server type applications on the VPC and then use your host operating system (i.e. the Windows XP or whatever you’re running VPC in) to run the client developer tools against the services on the VPC, the actual recommendation is to do that instead
    So you’d have a standard VPC image that has Server 2003, SQL Server (unless you’re sharing that as a network resource hosted somewhere else - but be sure you have the permissions you need to noodle around in it if it is a shared resource), AD (same cautions apply to this as SQL Server), and WSS3.0/MOSS 2007. You’d run this in a host operating system where you’d run all your client development tools. You’d still have one execution environment per developer, but the performance might be a little better.

Anyhow, here’s a list of relevant blog entries/MSDN/Technet articles:

Some links also for software architecture/development approaches:

And some links to relevant tools:

I’ll add more links as I ID them.

Posted in Microsoft Office SharePoint Server 2007, SharePoint Portal Server 2003, Windows SharePoint Services 2003, Windows SharePoint Services 2007 | No Comments »

Send to -> Other Location sort of works!

9th March 2007

(Woops, had to replace the images after pixelizing out all the identifying URL and ID information from the screenshots.)

(Woops 2, apparently I have now broken the image attachments here, so maybe I have to do it all again, sigh. Will do so later - Short version is that IE7 seems to be able to copy like this only across web applications, whereas Firefox 2.0 and IE6 seem only to be able to copy from subsite to parent site (I haven’t tried the other direction yet). Issue is now active with Microsoft support. The SharePoint support team have escalated the issue to the IE team, but I have yet to hear from the IE team.)

I have an open Microsoft Support case for this, and will update when I get more information.

In a document library in MOSS2007/WSS3.0, if you use the drop-down menu on the document, you can choose “Send To” -> “Other Location”. In the following dialogue box, you can select another location to send this document to. It seems to work in both IE7 and Firefox 2.0 if you are publishing from one site collection to another, but not if you are publishing, say, from a locked down subsite to a parent site that’s more public. In that case, the Send works fine in Firefox 2.0 but not in IE7. In IE7, you get prompted for permissions no matter who you are (or at least I do, being admin up and down the tree of sites, subsites, server farms, on the machine, using the account that runs the whole farm, etc.).

So here’s the typical functioning copy process (for a copy to other location between two site collections on the same Web Application (aka IIS’s virtual server, and specifically in this case, the same port: 80).

Start the copy process:
01PX - Dropdown to Copy to Other Location in IE7 - Cross Site Collection

Specify parameters:
02PX - Initial Copy settings screen - Cross-Site Collection Copy

Confirm copy:
03PX - Copy Progress popup with confirmation (OK) button - Cross-Site-Collection Copy

Review success message:
04PX - Copy Progress Successful/Done - Cross-Site-Collection Copy

Confirm that the copy succeeded in destination document library:
05PX - Confirmation of Copy - Cross-Site-Collection Copy

In contrast, here’s the same operation NOT working in IE7 while copying a file from a locked down subsite to the subsite’s parent (and top-level) site.

Start the operation normally:
06PX - Drop down command - Copy from Subsite

Set the parameters for the copy:
07PX - Copy Screen - Copy from Subsite

The Copy Progess confirmation popup window:
08PX - Copy Confirmation popup - Copy from Subsite

Get prompted for access (click cancel after trying lots of different possibilities):
09PX - Login Prompt - Copy from Subsite

Get returned to the Copy Progress popup with failures:
10PX - Copy Progress failures - Copy from Subsite

And here, I demonstrate that Firefox 2.0 has no problem with the same operation IE7 just failed at:

Initial authentication (Because it’s Firefox):
11PX - Firefox 2.0 - Initial Authentication - From Subsite

Start the copy via the dropdown box (normal):
12PX - Firefox 2.0 - Start the Copy - From Subsite

Normal copy parameters:
13PX - Firefox 2.0 - Copy Parameters - From Subsite

No popup window for Copy Progress - you get a nice website screen instead. Same deal, though:
14PX - Firefox 2.0 - Copy Confirmation - From Subsite

Copy Progress Screen reports finished:
15PX - Firefox 2.0 - Finish status from the Copy Progress - From Subsite

Confirm the copy worked - go to the destination Document Library:
16PX - Firefox 2.0 - Confirmation that document is where it should be - From Subsite

Posted in Microsoft Office SharePoint Server 2007, Windows SharePoint Services 2007 | 2 Comments »

 

Copyright©2006-2007 Malcolm Gin's SharePoint and .NET Tips