RE: Migration issue

2013-07-11 Thread Nigel Witherdin
Hey guys,
In case you're interested, we have gotten agreement that we only need to auto 
add the footer on docx and xlsx (woohoo), so I have achieved this with an event 
handler on ItemUpdated - this way I have access to the absolute url of the item 
and its current version number (as not available by quick parts). Used the 
OpenXML sdk to delete existing footer and insert new one.
Am happy to write a script or console app that will iterate through the docs 
and update any existing docx's and xslx's so that the previous version has the 
old footer information (matching any hard copies that are around), and the 
current version has the new correct footer info.
Dont really like having an event handler (just dont like them, although they 
seem to be all I am ever writing/maintaining), but it does seem appropriate in 
this case
thanks again for the help
Nigel

Date: Wed, 10 Jul 2013 15:30:15 +1000
Subject: Re: Migration issue
From: web.ad...@syd.catholic.edu.au
To: ozmoss@ozmoss.com

A whole world of pain basically.
New docs aren't the problem really. It's the existing ones you'll have  
problems with. Deal with them first.

The simplest solution is for them to accept that this is a new system and use 
content types and DispForm.aspx to display the metadata.

Not your fault they have multiple Office version docs.
I'd ignore the document path info for now cos it's going to change anyway. But 
if the Version info exists in the legacy system, u might want to query that and 
export to a spreadsheet. You could then use PowerShell to automate the field 
update against the filename after you upload them.


On 10 July 2013 14:49, Ishai Sagi is...@exd.com.au wrote:









Nigel – you are sending conflicting messages as to what you want to do. Lets 
put aside new documents and focus on documents in the
 system:
1.  
An event handler will not help, since there are no events running on the 
documents – you will need
 to edit the document properties or the documents to trigger the event handler 
– requiring you to edit each and every document

2.  
A button will not help, since it still requires you to open each document, 
press the button and
 save

3.  
A template will not help, since existing documents are not using the template


 
It seems to me that your best choice is to write an application that edits the 
documents. You will need a way to differentiate between
 new ones and migrated ones, and you will need code that runs on the server 
that can update the document content.
 

 
Ishai
 Sagi |
Solutions Architect


0488 789 786
|
is...@exd.com.au
|
www.sharepoint-tips.com
|
@ishaisagi
|
MVP Profile 



 


From: ozmoss-boun...@ozmoss.com [mailto:ozmoss-boun...@ozmoss.com]
On Behalf Of Nigel Witherdin

Sent: Wednesday, 10 July 2013 12:15 PM

To: OzMoss; Conrad Grobler

Subject: RE: Migration issue


 

Would creating an Office plugin (a button) that injects the values into the 
footer from the document's properties be feasible?


 


I think I have gotten version number in a footer in the document template by 
creating it as a label in the Info Mgmt Policy for the doc's content type 
before (so it can then be used in the
 template), but this doesn't really help me for the existing documents.


 


My other solution is shudder an event receiver that embeds the info into the 
footer.


 


Oh - this has to work for DOCs and DOCXs.


 


Again, would appreciate your thoughts - thanks guys!




Date: Wed, 10 Jul 2013 11:41:00 +1000

Subject: Re: Migration issue

From: web.ad...@syd.catholic.edu.au

To: ozmoss@ozmoss.com


Version and absolute URL are not available as Quick Parts.


 


I'd create a content type and add a Version (numeric) field so people can 
decide when this should change, rather than SharePoint.



 


For the file path you're going to have trouble though. Only way I can think is 
to set a field's value via a workflow.



 


Both could then be added to a template footer as Quick Parts.


 


As for legacy documents...there's no way I know to update these easily. I did 
see a batch XML converter around but I don't think it could handle these kind of
 changes.

On 10 July 2013 06:49, Nigel Witherdin nigel_wither...@hotmail.com wrote:




Hey guys,



We are currently migrating content from from legacy doc mgmt systems into 
SP2010, and I have come across a sticky requirement.



The doc mgmt system we are migrating from had a plugin to office that allowed 
the users to click a button and insert the file location and version number 
into the footer of the document. They like this functionality and see it as 
essential to exist in the new
 system.



For docs created within sharepoint, no problem. I can have a doc template that 
uses quick parts in the footer to display the items URL and version number (I 
assume), but that doesn't help for existing docs that are migrated into SP.




The other possible solution is to write a macro or customize word to provide a 
button that injects the 

Re: Migration issue

2013-07-11 Thread Web Admin
Mightily impressed, Nigel. I think you've done the only thing you could do
under the circumstances.

That SDK makes me want to weep. :\


On 11 July 2013 17:05, Ishai Sagi is...@exd.com.au wrote:

  Good job!

 ** **

 ** **

 ** **

 **[image: Description: Description: C:\Users\Brian\Pictures\EXD
 Logos\Extelligent logo no text.jpg]***Ishai Sagi* | Solutions Architect
 0488 789 786 | is...@exd.com.au | www.sharepoint-tips.com | 
 @ishaisagihttp://twitter.com/ishaisagi
 | MVP Profile https://mvp.support.microsoft.com/profile/Ishai  

 ** **

 *From:* ozmoss-boun...@ozmoss.com [mailto:ozmoss-boun...@ozmoss.com] *On
 Behalf Of *Nigel Witherdin
 *Sent:* Thursday, 11 July 2013 4:59 PM

 *To:* OzMoss; Conrad Grobler
 *Subject:* RE: Migration issue

  ** **

 Hey guys,

 ** **

 In case you're interested, we have gotten agreement that we only need to
 auto add the footer on docx and xlsx (woohoo), so I have achieved this with
 an event handler on ItemUpdated - this way I have access to the absolute
 url of the item and its current version number (as not available by quick
 parts). Used the OpenXML sdk to delete existing footer and insert new one.
 

 ** **

 Am happy to write a script or console app that will iterate through the
 docs and update any existing docx's and xslx's so that the previous version
 has the old footer information (matching any hard copies that are around),
 and the current version has the new correct footer info.

 ** **

 Dont really like having an event handler (just dont like them, although
 they seem to be all I am ever writing/maintaining), but it does seem
 appropriate in this case

 ** **

 thanks again for the help

 ** **

 Nigel
  --

 Date: Wed, 10 Jul 2013 15:30:15 +1000
 Subject: Re: Migration issue
 From: web.ad...@syd.catholic.edu.au
 To: ozmoss@ozmoss.com

 A whole world of pain basically.

 ** **

 New docs aren't the problem really. It's the existing ones you'll have
  problems with. Deal with them first.

 ** **

 The simplest solution is for them to accept that this is a new system and
 use content types and DispForm.aspx to display the metadata.

 ** **

 Not your fault they have multiple Office version docs.

 ** **

 I'd ignore the document path info for now cos it's going to change anyway.
 But if the Version info exists in the legacy system, u might want to query
 that and export to a spreadsheet. You could then use PowerShell to automate
 the field update against the filename after you upload them.

 On 10 July 2013 14:49, Ishai Sagi is...@exd.com.au wrote:

  Nigel – you are sending conflicting messages as to what you want to do.
 Lets put aside new documents and focus on documents in the system:

 1.   An event handler will not help, since there are no events
 running on the documents – you will need to edit the document properties or
 the documents to trigger the event handler – requiring you to edit each and
 every document
 2.   A button will not help, since it still requires you to open each
 document, press the button and save
 3.   A template will not help, since existing documents are not using
 the template

  

 It seems to me that your best choice is to write an application that edits
 the documents. You will need a way to differentiate between new ones and
 migrated ones, and you will need code that runs on the server that can
 update the document content.

  

  

 **[image: Description: Description: C:\Users\Brian\Pictures\EXD
 Logos\Extelligent logo no text.jpg]***Ishai Sagi* | Solutions Architect **
 **

 0488 789 786 | is...@exd.com.au | www.sharepoint-tips.com | 
 @ishaisagihttp://twitter.com/ishaisagi
 | MVP Profile https://mvp.support.microsoft.com/profile/Ishai  

 ** **

  

 *From:* ozmoss-boun...@ozmoss.com [mailto:ozmoss-boun...@ozmoss.com] *On
 Behalf Of *Nigel Witherdin
 *Sent:* Wednesday, 10 July 2013 12:15 PM
 *To:* OzMoss; Conrad Grobler
 *Subject:* RE: Migration issue

  

 Would creating an Office plugin (a button) that injects the values into
 the footer from the document's properties be feasible?

  

 I think I have gotten version number in a footer in the document template
 by creating it as a label in the Info Mgmt Policy for the doc's content
 type before (so it can then be used in the template), but this doesn't
 really help me for the existing documents.

  

 My other solution is shudder an event receiver that embeds the info into
 the footer.

  

 Oh - this has to work for DOCs and DOCXs.

  

 Again, would appreciate your thoughts - thanks guys!
  --

 Date: Wed, 10 Jul 2013 11:41:00 +1000
 Subject: Re: Migration issue
 From: web.ad...@syd.catholic.edu.au
 To: ozmoss@ozmoss.com

 Version and absolute URL are not available as Quick Parts.

  

 I'd create a content type and add a Version (numeric) field