- Загружаем текущий исходный код. Существует, конечно, возможность скачать код одним архивом (http://mojoportal.codeplex.com/), но, по утверждению Joe, в этом случае регулярно возникают необъяснимые сверхъестественные глюки.
- Устанавливаем программу TortoiseHG http://tortoisehg.bitbucket.org/
- Создаём папку(в моём случае /mojocode), где хотим поместить исходный код.
- Правой кнопкой мыши на папку и выбираем TortoiseHG > Clone
- Указываем, как источник адрес https://hg.codeplex.com/mojoportal

- Нажимаем клонировать.

- Делаем копию файла mojoPortal.sln (лежит в корневой папке), переименовываем его, например, в mojoportal-ym.sln и запускаем.
- Создаём пустую базу данных, пользователя и прописываем строку подключения в user.config (файл необходимо создать из user.config.sample , который лежит в папке /Web).
Более подробно рассказано в статье по быстрому запуску mojoPortal.
- Запускаем отладку mojoPortal.Web (В окне браузера должен стартовать процесс установки).
- Создаём папку YandexMap в директории с исходным кодом.
- Создаём проект YandexMap.Web.UI указав путь к папке из п.5

- Удаляем из проекта YandexMap.Web.UI файл Default.aspx.

- Создаём следующие папки в директории /YandexMap/YandexMap.Web.UI/:
- YandexMap/
- YandexMap/Controls/
- Setup/
- Setup/applications/
- Setup/applications/YandexMap/
- Setup/applications/YandexMap/FeatureDefinitions
- Setup/applications/YandexMap/SchemaInstallScripts
- Setup/applications/YandexMap/SchemaUpgradeScripts
*папки из пунктов b, g и h созданы на перспективу.

- Создаём библиотеку классов YandexMap.Business

- Создаём библиотеку классов YandexMap.Data.MSSQL (если для работы модуля будет нужна база данных)

- Добавляем ссылки в проект YandexMap.Web.UI на следующие проекты
- mojoPortal.Business
- mojoPortal.Business.WebHelpers
- mojoPortal.Features.UI
- mojoPortal.Net
- mojoPortal.Web
- mojoPortal.Web.Controls
- mojoPortal.Web.Editor
- mojoPortal.Web.Framework
- YandexMap.Business

- Добавляем ссылки в проект YandexMap. Business на следующие проекты
- YandexMap.Data.MSSQL

- Добавляем стандартную папку “ASP.NET” – App_GlobalResources в проект YandexMap.Web.UI

- В эту папку добавляем файл ресурсов YandexMapResources.resx

- Открываем файл mojoPortal.Web/Web.config и копируем раздел <pages> </pages> в файл YandexMap.Web.UI/Web.config (раздел <system.web></system.web>). Сохраняем.

- Создаём папку App_MasterPages в проекте YandexMap.Web.UI и в неё копируем файл layout.Master из WebStore.UI/App_MasterPages

- В папке YandexMap.Web.UI/YandexMap/ создаём пользовательский элемент управления YandexMapModule.ascx

- Запускаем CodeSmith Generator Studio, открываем файл Mp_UI-starter_ModuleControlGenerator.cst. В диалоговом окне заполняем поля:
- Author: mojoportal.net.ua
- BusinessLayerNameSpace: YandexMap.Business
- ControlName: YandexMapModule.ascx
- FeatureName: YandexMap
- UINameSpace: YandexMap.UI

- Нажимаем кнопку Generate.
- Копируем часть созданного кода от
// Author:
до конца и заменяем этим содержимое файла YandexMap.Web.UI/YandexMap/YandexMapModule.ascx.cs .

Закомментируем строку using log4net;

Сохраняем.
- Копируем часть содержимого от начала до
// Author:
и заменяем этим содержимое файла YandexMap.Web.UI/YandexMap/YandexMapModule.ascx .
Сохраняем.
- Выбираем Свойства проекта YandexMap.Web.UI - > События построения - >Командная строка события после построения и вставляем следующие строки:
xcopy /s /y "$(ProjectDir)bin\YandexMap.Web.UI.dll" "$(SolutionDir)Web\bin\"
xcopy /s /y "$(ProjectDir)bin\YandexMap.Business.dll" "$(SolutionDir)Web\bin\"
xcopy /s /y "$(ProjectDir)bin\YandexMap.Data.dll" "$(SolutionDir)Web\bin\"
xcopy /s /y "$(ProjectDir)YandexMap\*.ashx" "$(SolutionDir)Web\YandexMap\"
xcopy /s /y "$(ProjectDir)YandexMap\*.ascx" "$(SolutionDir)Web\YandexMap\"
xcopy /s /y "$(ProjectDir)YandexMap\*.aspx" "$(SolutionDir)Web\YandexMap\"
xcopy /s /y "$(ProjectDir)YandexMap\Controls\*.ascx" "$(SolutionDir)Web\YandexMap\Controls\"
xcopy /s /y "$(ProjectDir)App_GlobalResources\*.resx" "$(SolutionDir)Web\App_GlobalResources\"
xcopy /s /y "$(ProjectDir)Setup\*" "$(SolutionDir)Web\Setup"
Сохраняем.
- Копируем файл \Web\Setup\applications\mojoportal-core\FeatureDefinitions\10000_HtmlContentModule.config в папку \YandexMap\YandexMap.Web.UI\Setup\application\YandexMap\FeatureDefinitions
Переименовываем его в 10000_YandexMapModule.config
- Открыть скопированный файл 10000_YandexMapModule.config
- Заменить
featureGuid="881e4e00-93e4-444c-b7b0-6672fb55de10"
на featureGuid="b54eab73-1892-4ab2-973d-cbdaf163ab44"
b54eab73-1892-4ab2-973d-cbdaf163ab44 взят из файла YandexMapModule.ascx.cs, строка // FeatureGuid …
- В строке supportedDatabases="MSSQL,MySQL,pgsql,SQLite,FirebirdSql,SqlAzure,SqlCe"
оставляем только supportedDatabases="MSSQL" (если будет использоваться данная СУБД)
- Открываем созданный в п.14 файл YandexMapResources.resx
Добавляем в поле Имя – FeatureName, а в поле значение - Yandex Map

- В файле 10000_YandexMapModule.config
- параметру resourceFile присваиваем значение YandexMapResources
resourceFile="YandexMapResources"
- параметру featureNameReasourceKey присваиваем значение FeatureName
featureNameReasourceKey="FeatureName"
- параметру controlSource присваиваем значение YandexMap/YandexMapModule.ascx
controlSource="YandexMap/YandexMapModule.ascx"
- параметру isSearchable присваиваем значение false
isSearchable="false"
- параметру searchListNameResourceKey присваиваем пустое значение
searchListNameResourceKey=""
- параметру deleteProvider присваиваем пустое значение
deleteProvider=""
- удаляем все
<featureSetting … />
- Сохраняем

- Запускаем построение приложения YandexMap.Web.UI
- В браузере запускаем установку /Setup/Default.aspx . В логе установки должна появиться следующая строка:
Настройка модуля Yandex Map - 00:00:00.6970399
- Входим под учётной записью [email protected]/admin
- Создаём новую страницу и добавляем на неё модуль Yandex Map
- Переходим на вновь созданную страницу. На ней должна появиться надпись:
This will soon be the entry point to the YandexMap.

На этом общие инструкции по созданию модулей заканчиваются и начинается настройка непосредственно Яндекс карт.