Преобразование JSP в веб-часть SharePoint - PullRequest
3 голосов
/ 27 октября 2009

На портале BEA работает большое количество сервлетов / портлетов на основе Java, которые мы хотим преобразовать в веб-части SharePoint 2007. Многие из портлетов используют пользовательские настройки, но реализации разделены между настройками, которые обрабатываются портлетом напрямую и хранятся в отдельной базе данных от портала. Другие используют BEA WebLogic API для пользовательских настроек.

Три вопроса:

  1. Кто-нибудь получил Java Servlet / JSP (скомпилированный с JRE 1.4.2 и работающий на Tomcat 4.1) для работы в качестве веб-части SharePoint 2007?
  2. Сколько усилий было в целом (например, измерялось в днях / неделях / месяцах)?
  3. Было бы проще переписать портлет как нативные веб-части, по крайней мере, если это касается пользовательских настроек?

Ответы [ 2 ]

1 голос
/ 28 октября 2009

У нас есть немного похожий проект, в котором мы конвертируем портал BEA в Sharepoint.

Разница в том, что у нас нет страниц java-сервлетов или JSP в качестве веб-частей / портлетов, вместо этого весь код в нашей системе - это портлеты .net (а теперь и веб-части).

Java-сервлеты находятся во всплывающих окнах, которые связаны с Sharepoint с помощью гиперссылок.

Так что я не могу дать вам ответ на вопрос 1. Как мы никогда не делали этого.
Однако преобразование формы портлета портала BEA в веб-часть SharePoint может оказаться значительным упражнением, поскольку их необходимо создавать совершенно другим способом.

Что касается усилий, то мы перевели примерно 100 гаджетов в веб-части / приложения за 1 год с 1 разработчиком на полный рабочий день и 1 инфраструктурой / конфигуратором sharepoint.

И для 3 ... это зависит от сложности вашего портлета. Если вы хотите сохранить их в качестве портлетов / веб-частей, тогда потребуется полная перезапись, если только вы не используете хак, такой как веб-часть средства просмотра страниц ... но тогда вы на самом деле не мигрируете, а просто инкапсулируете существующую систему с SharePoint поверх *. 1012 *

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

0 голосов
/ 05 ноября 2009

Вот что я сделал для отдельного портлета, панели котировок акций.

У нас есть гаджет, который отображает котировки акций. У нас есть аккаунт в Tickertech, чтобы они могли предоставить нам информацию о расценках. Существуют пользовательские настройки, которые позволяют пользователям добавлять гаджет на личную страницу, а затем выбирать интересующие их акции как отдельных лиц. Вы также можете выбрать столбцы для отображения. Это достигается с помощью JavaScript. Выбранные символы акций отправляются вместе с токеном, который идентифицирует запрос как поступивший от действительного клиента.

Простейшим подходом было использование элемента управления веб-контентом и просто вставка в JavaScript. Это работает, но пользователь не может изменить биржевые символы или другие настройки, связанные с Tickertech.

Следующим шагом было создание пользовательской веб-части. Мы используем дополнение WSPBuilder для Visual Studio. Консалтинговая фирма, которая помогает нам с проектом, рекомендовала его, и я очень рад, что он сделал это, сокращает цикл интеграции до приемлемого уровня.

В веб-части у нас есть свойство, содержащее скрипт.

public class MarketSummaryWP : Microsoft.SharePoint.WebPartPages.WebPart
{     
    string m_scriptBlockPre = "<script language='javascript'> \n"+ // the beginning of the JavaScipt block 

В переопределении CreateChildControls () я просто добавил его как литерал.

this.Controls.Add(new LiteralControl(this.Script));  

Затем я изменил скрипт на приватный и создал другое свойство для хранения списка символов акций. Обратите внимание, что свойство Script выполняет конкатенацию внутри геттера.

    //Script Property
    [WebBrowsable(false),
    WebDisplayName("Script"),
    WebDescription("The JavaScript to insert in the page.")]
    public string Script
    {
    get { return m_scriptBlockPre + m_stockSymbolsList + m_scriptBlockPost; }
    //set { ; }
    }

    //Stock Symbol list Property
    [Personalizable(PersonalizationScope.User), WebBrowsable(true),
    WebDisplayName("Stock Symbols"),
    WebDescription("The stock symbols to retrieve quotes for, seperated by commas.")]
    public string StockSymbols
    {
        get { return m_stockSymbolsList; }
        set { m_stockSymbolsList = value; }
    }


    string m_stockSymbolsList = "GE,CAT,$DJI,AMR,JNJ,";

    string m_scriptBlockPost = " *other JavaScript code* </script> \n"+

Это дает мне веб-часть, которую можно добавить на любую страницу, потому что она находится в галерее веб-частей. Чтобы добавить копию веб-части, созданной с использованием статической веб-части html, вам необходимо получить блок JavaScipt из существующего экземпляра, возможно, с использованием «просмотра источника», перейти на целевую страницу, добавить новый экземпляр статической веб-части HTML, и измените его, чтобы включить блок JavaScipt; каждый раз. Таким образом, пользователям нужно только выбрать его из списка веб-частей, и они могут иметь индивидуальные настройки котировок акций.

...