Сообщество русскоговорящих пользователей
CMS DotNetNuke
   Вы здесь:  База знаний » Статья
18.12.2009 10:47:08, Administrator
Обновление и упаковка старых скинов для DotNetNuke 5.x

Цель данной статьи

 Многие из нас столкнулись с небольшой проблемой при установке шкурок(skins), после обновления ядра DotNetNuke и с переходом на версию 5.х.

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

Те шкурки были созданы во времена DotNetNuke версий 4.х. Мы заходим в административную часть портала, загружаем ZIP со шкурками, а DotNetNuke ругается. Говорит, что не понимает того, что вы ему подсовываете.

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

 

Установочный пакет шкурок для версий DNN ниже 5.х

Стандартный упаковочный пакет данных версий состоял из сжатого ZIP архива который назывался также как и шкурка.

Внутри этого пакета лежали 2 других архива. Один назывался Skin.zip, а второй - Container.zip. В каждом лежали файлы связанные со шкуркой и контейнером соответственно. И для установки такой шкурки на предыдущие версии DNN, было достаточно залить данный пакет на портал, через административную часть.

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

 

Установочный пакет шкурок для версий DNN 5.х

 Теперь пакет со шкурками состоит из единого сжатого архива - [Название_Шкурки].zip.

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

Стал ли DNN умнее, или глупее, судить вам. Но теперь он не видит и не понимает ничего, пока вы ему не вручите манифест. Это такой файл, с расширением .dnn, в котором содержится в виде структуры XML, описание или декларация всех файлов в архиве и их предназначение.

Устанавливается такой архив тоже очень просто, как любой модуль.

 

Устанавливаем старую шкурку версии 4.х на сайт версии 5.х

  Как было сказано раннее, такой пакет состоит из главного архива, в котором находятся еще 2(шкурки и контейнеры).

Такой установочный пакет не признается DNN 5.х. И устанавливать его придется немного иначе.

Для начала, мы распакуем главный пакет. Затем распакуем архив со шкурками, потом с контейнерами.

Далее, нам нужно будет зайти в папку, где хранятся шкурки нашего сайта, а именно в: ~/Portals/_Default/Skins.

Создаем там новую папку, и даем ей название нашего главного пакета со шкурками, который мы хотим установить. В нашем примере в данной статье, главный пакет называется SnakeSkin_Coal. Теперь, берем все файлы из распакованного ранее архива со шкурками(Skins) и копируем их в папку, которую только что создали.

Дальше, мы зайдем в папку на нашем сайте,в которой хранятся контейнеры: ~/Portals/_Default/Containers.

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

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

 В итоге у нас появятся 2 новые папки, с соответствующим содержимым:

Portals\_default\Skins\[Название_Главного_Пакета]

Portals\_default\Containers\[Название_Главного_Пакета]

Далее нам понадобиться зарегистрировать шкурки и контейнеры. Для этого заходим на сайт как админ, и идем сюда: host>extensions

 Внизу страницы, жмем на: Create New Extension

 

Для начала, нам нужно установить шкурку - SKIN. Поэтому заполняем соответственно следующую форму.

 

Extension Type => Skin

Name => [Название_Главного_Пакета].Skin

Description => Всё что угодно

NEXT

 

Готово.

Проверим что всё в порядке. Смотрим в список host>extensions, раздел  SKIN.

 

Наша шкурка должна быть на месте.

 Теперь тоже-самое нужно проделать для контейнера. Снова жмем на: Create New Extension.

 Заполняем форму в соответствии с нашими нуждами.

Extension Type => Container

Name => [Название_Главного_Пакета].Container

Description => Всё что угодно

После окончания процедуры, проверяем список host>extensions, раздел CONTAINER.

 

Новый контейнер должен быть в списке.

 Это еще не всё!

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

 Идём сюда: host>extensions

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

 

 

Здесь меняем только поле: Skin Package Name. Уберите с его названия [.Skin]. Потом сохраните, нажав на: Update Extension, внизу страницы.

Возвращаемся в host>extensions. Тоже самое проделываем с контейнером.

Сохраняем.

В итоге, шкурка и контейнер теперь относятся к единому пакету.
Теперь зайдем сюда: admin>skins и выберем из списка шкурок ту, которую только что установили. Автоматически выберется и относящийся к пакету архив с контейнерами. И всё это должно в итоге выглядеть примерно так:

Теперь, когда шкурка установлена, она может полноценно быть использована на сайте.

Конвертирование старой шкурки в новую, для версии 5.х

Представьте себе, что вы решили использовать ту-же шкурку на другом сайте. И снова вам предстоит та-же самая работа - разбивать архив, путаться в файлах, и устанавливать шкурку по частям. Не легче ли переделать этот установочный пакет под новый стандарт? Да, тяжело, если придется вручную писать файл манифест, и еще можно забыть пару картинок или файлов, если произойдет ошибка,  -переписывать заново. Число картинок может превышать 50 и сбиться легко.

К счастью, встроенная система DotNetNuke позволяет создавать пакет из уже установленных шкурок, по новым стандартам и по всем правилам.

Такой пакет установится в будущем в один этап, как любой стандартный модуль.

Теперь поэтапно.

Идём сюда: host>extensions

 Заходим на страницу настроек шкурки.

 Внизу страницы жмём на Create Package.

 

Оставляем всё как есть и жмем Next.

Убеждаемся в том что список файлов не пуст и идем дальше.

 

DNN создал для нашей шкурки манифест. Хорошо. Идем дальше.

 

Нас всё устраивает. Ничего не трогаем и идем дальше.

 

Супер. Всё в порядке. Установочный пакет со шкуркой создан. Но это еще не всё!

 Нам нужно будет проделать тоже-самое с контейнером.

Идём сюда: host>extensions

Находим в списке свой контейнер и заходим в его свойства(настройки).

Точно также как и в случае со шкуркой, внизу страницы с настройками(свойствами) кликаем на Create Package.

Создания пакета для контейнера не отличается от создания пакета для шкурки. Повторяем всё то, что было проделано раньше.

 Пакет с контейнером создан. Ура!

Но, осталось еще кое-что!

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

Мы найдем для начала сгенерированный архив со шкуркой.

Заходим в корневую папку сайта, потом сюда: Install/Skin/

 Видите там свой архив ZIP? Значит всё идёт как надо.

Проверим наличие архива с контейнером в папке: ~/Install/Container/

 Если всё в порядке. Можно идти дальше.

Здесь нужно собраться, настроиться, и проделать небольшой шахер-махер.

Берем ново-испеченный архив со шкуркой(ZIP). Копируем его куда-нибудь в другое место, например на рабочий стол.

Распаковываем этот архив.

Теперь проделываем тоже-самое с архивом контейнера. Копируем ZIP на рабочий стол и распаковываем.

 Далее, заходим в распакованный архив со шкуркой, и находим там файл с расширением .DNN - он там единственный.

Открываем его в текстовом редакторе, лучше и легче всего сделать это при помощи отличного и бесплатного Notepad++.

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

Теперь, нам надо зайти в распакованный архив с контейнером и также, найти внутри файл с расширением .DNN и открыть его в текстовом редакторе.

Осторожно, не запутайтесь!

 

 На картинке выше, мы открыли 2 файла .DNN редакторе Notepad++.

Слева шкурка, а справа - контейнер.

Теперь выделяем в контейнере весь текст начиная со строки

<component type="Container"> и до component> включительно.

Копируем эти строки.

Теперь переходим в файл DNN со шкуркой, и после последней строки component>, вставляем текст, который мы скопировали раньше с контейнера.

Сохраняем.

Это еще не всё.

Теперь зайдите в распакованный архив с контейнером, выделите там все файлы кроме файла DNN  и  скопируйте их в распакованный архив со шкуркой.

 Теперь подредактируем наш новый файл DNN  в нашем новом архиве - старый, но обновленный архив со шкуркой.

 Открываем его в текстовом редакторе.

 В второй строке, сохранилось старое название пакета со шкуркой. Мы же создаем общий пакет и для шкурки и для контейнера. Поэтому дадим ему общее название, убрав [.Skin].

 

 Теперь берем всё это добро, В обновленной папке архива со шкурками, к которому и контейнеры прибавились, и запаковываем его в ZIP архив, и готово.

Ура!

Автор: codexomega

powered by metaPost
print



rating
  Комментарии

Нет комментариев.

 
OpenedBorderBoxed Small width layoutMedium width layoutMaximum width layout Small textMedium textMaximum text