Самый простой способ конвертировать статические HTML-документы в SharePoint - PullRequest
2 голосов
/ 20 января 2010

В настоящее время я сталкиваюсь с большим количеством статических документов HTML для преобразования в SharePoint (MOSS 2007), в основном они могут оставаться статичными, но их необходимо перенести на сайт SharePoint с использованием внешнего вида SharePoint (каждая страница обновлять как минимум заголовки и колонтитулы SharePoint), есть ли какие-нибудь инструменты, которые могут помочь в достижении этого, о чем кто-либо знает? Спасибо!

Изменить: Ответ должен быть выполнимым по цене <500 долларов. </p>

Ответы [ 3 ]

3 голосов
/ 26 января 2010

Ответ QND - создать 500 пользовательских страниц

using (SPSite siteCollection = new SPSite("http://yoursite.com")) {
  using (SPWeb site = siteCollection.RootWeb) {
    MemoryStream fileStream = new MemoryStream();
    StreamWriter fileWriter = new StreamWriter(fileStream);
    fileWriter.WriteLine("<%@ Page MasterPageFile=\"~masterurl/default.master\"  meta:progid=\"SharePoint.WebPartPage.Document\" %>");
    fileWriter.WriteLine("<asp:Content ID=\"PageTitle\" runat=\"server\" contentplaceholderid=\"PlaceHolderPageTitle\">");
    fileWriter.WriteLine(...insert page title here...);
    fileWriter.WriteLine("</asp:Content>");
    fileWriter.WriteLine("<asp:Content ID=\"PageTitleInTitleArea\" runat=\"server\" contentplaceholderid=\"PlaceHolderPageTitleInTitleArea\">");
    fileWriter.WriteLine(...insert page title summary here...);
    fileWriter.WriteLine("</asp:Content>");
    fileWriter.WriteLine("<asp:Content ID=\"PageMain\" runat=\"server\" ContentPlaceHolderID=\"PlaceHolderMain\" >");
    fileWriter.WriteLine(...insert the html body mark up here...);
    fileWriter.WriteLine("</asp:Content>");
    fileWriter.Flush();
    site.Files.Add(... your page name .aspx here ..., fileStream);
    fileWriter.Close();
    fileWriter.Dispose();
    fileStream.Close();
    fileWriter.Dispose();
  } 
} 
1 голос
/ 20 января 2010

Для ручного копирования / вставки содержимого в «Look and Feel» вы можете использовать базовую страницу (Просмотреть все содержимое сайта => Создать => Веб-страницы => Основная страница). Вы также можете загружать прямые HTML-файлы в библиотеки документов и указывать их в качестве «ссылки на контент» для содержимого этих основных страниц.

0 голосов
/ 26 января 2010

Эти HTML-страницы написаны довольно стандартными способами? Если вы знаете, что вам нужно удалить первые X строк сверху и Y строк снизу, вы можете использовать следующую командную строку unix для подготовки файлов (если, например, все они называются file01.html, file02. html и т. д.):

for i in file*.html; do head -n -X $i | tail +Y > $i.stripped; done

Тогда вы можете иметь стандартные заголовки и нижние колонтитулы в файлах с соответствующими именами и выполнить команду, подобную:

for i in num*.stripped; do cat header $i footer > $i.sharepoint; done

Эти две команды заменят первые X строк файла содержимым файла с именем header, а последние Y строк файла содержимым footer и поместят их в файлы с именем file01.html. stripped.sharepoint готов к перемещению (и переименованию).

Если это не сработает, но вы знаете, что все строки выше или ниже определенной строки текста должны быть обрезаны, то вы можете использовать этот скрипт (вставленный в файл с именем «trim») для выполнения первой подготовительной задачи. :

#!/usr/bin/perl

my $direction = shift;
my $r = shift;
my $file = shift;

open(FILE,"<",$file) or die 'could not open file ' . $file;

my $matched = 0;

while(<FILE>) {
   $matched ||= m/$r/;
   if ($direction eq 'before') {
      next if not $matched;
   } else {
      last if $matched;
   }    
   print;
}

Первый аргумент - это направление, которое вы хотите вырезать, второй - строка (в форме регулярного выражения), а третий - имя файла:

Беги как:

perl trim after '^STRING$' file.html

и для всех файлов:

for i in file*.html; do perl trim after '^STRING$' $i > $i.stripped_header; done

После того, как ваши файлы подготовлены, вторая команда сверху для добавления заголовка и нижнего колонтитула будет всем, что необходимо.

Немного затянуто, но дело в том, что вы сможете легко справиться с этим с помощью небольшого сценария.

...