Перенос текущего сайта в дотнетнуке - PullRequest
1 голос
/ 01 июня 2010

Утомительно ли переносить существующий сайт в DNN? Будет ли начинать с нуля лучше?

Ответы [ 2 ]

2 голосов
/ 03 июня 2010

В прошлом году я перенес 150-страничный веб-сайт, и он не был утомительным.

Мы сели с DNN, распланировали структуру, которую хотели, и построили меню - 1 час Затем мы открыли Блокнот и потратили три дня на копирование и вставку. Скопируйте с Live Site, вставьте в блокнот, и нажмите CTRL + A и CTRL + C, пролистайте DNN и вставьте снова Любые сложные или неудобные страницы, оставленные моим коллегой на потом. Через три дня мы перенесли весь сайт. Нет инструментов, нет фантазии импорта и экспорта.

Все сделано за пару дней. И, конечно, в конце концов, мой коллега также быстро освоил DNN.

Это низкотехнологичный, очень успешный и простой подход.

Я бы рассмотрел процедуры импорта для высокоструктурированных данных, но в остальном я рекомендую этот подход.

0 голосов
/ 03 июня 2010

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

Однако если у вас есть типичное управляемое данными приложение .NET с большим количеством серверного кода и доступа к данным, вам придется переделать его, чтобы оно соответствовало DNN.

В любом случае, если вы хотите сохранить свой существующий список пользователей, вам, вероятно, придется написать нового поставщика DNN для взаимодействия с этим списком. Если вы уже использовали таблицы членства ASP.NET по умолчанию, это, по сути, должно быть сделано для вас, потому что это то, что DNN использует по умолчанию для внутреннего использования, хотя оно оборачивает его взаимодействием со своим собственным поставщиком членства, потому что их пользователи должны притворяться относиться к порталу (даже если это не так).

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

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

Вы должны решить, что делать с существующей базой данных. Будете ли вы сливать его в базу данных DNN, или вы будете держать его отдельно? Отдельная идея хороша тем, что она не допускает нежелательной презентации DNN от вашей основной функциональности, но имейте в виду, что ваши пользователи / роли / разрешения также будут в базе данных DNN, поэтому вы можете потерять эту ссылку на ваши устаревшие данные.

Что приводит к ролям и разрешениям. DNN использует стандартный интерфейс поставщика ролей ASP.NET, но на самом деле все не так просто. Даже если вы предоставляете своего собственного поставщика ролей для интеграции с вашими собственными ролями, вам все равно придется сохранять роли и назначения пользователей / ролей в таблицах DNN, поскольку они не полностью абстрагированы.

... и я уверен, что есть куча других вещей, специфичных для вашей ситуации, о которых я не могу думать.

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

...