Jernej Pirc
Jernej Pirc

Reputation: 514

Build source code of 2sxc module for dnn

Can somebody give me some basic directions how to build source version of 2sxc module for dnn?

What is the folder structure for all dependent projects and versions and required binary?

Upvotes: 0

Views: 192

Answers (1)

iJungleBoy
iJungleBoy

Reputation: 5638

Here are the instructions - please test and report back if something needs changing:

Edited New full instructions can be found in the wiki: https://github.com/2sic/2sxc/wiki/contribute-setup

Pre-Requisites

  1. Visual Studio 2015
  2. MSBuild Community Tasks 1.4 or newer (required for automatic module packaging if you want to create dnn-module packages of 2sxc to distribute to another dnn) https://github.com/loresoft/msbuildtasks or chec https://www.microsoft.com/en-in/download/details.aspx?id=19372
  3. We also use grunt, gulp and bower so if you want to do some JS you'll also need to install NPM, Gulp and Bower (grunt will auto-install as a dependency)

Recommended

  1. SQL Server 2014, but it also works on older versions like 2008

A note about folders

The current setup places the EAV project and the 2sxc-project in exactly defined folders. This helps that when we build the EAV or make changes to it, that it will auto-copy everything in the build-process to the 2sxc bin and dist. So this isn't required, but if you want to do some serious stuff it will save you time to copy/deploy the dependencies over and over.

  • The 2sxc dnn should run in c:\projects\2SexyContent\Web
  • the eav UI should be in c:\projects\eav-ui
  • the eav server should be in c:\projects\eav-server

Installing DNN Please install a DNN - ideally a 7.2 version or similar so you wont use APIs which don't exist in that version in the path above. Steps are approx. like this:

  • Download the minimal DNN version that 2sxc supports (DNN 7.2.0) and extract it to C:\Projects\2SexyContent\Web (the exact folder is important, because the grunt/gulp tasks refer to this path)
  • Configure the website in IIS (use binding 2sxc.dev)
    • Use a default ASP.NET 4 / 4.5 application pool with Network Service account
  • Add entry to local hosts file: 127.0.0.1 2sxc.dev
  • Setup an empty database in SQL Management Studio
  • Start the website and configure DNN to use the previously created database
  • also install form-and-list - this is an old dynamic-content style module and you need it because 2sxc has a datasource. Not needed at runtime, but necessary if you want to compile: https://dnnfnl.codeplex.com/
  • Then install 2sxc as a normal installable module (to get all the tables etc. setup)

Installing Source Code and Linking it to Github

  • Remove the contents of /DesktopModules/ToSIC_SexyContent folder again (required because we clone the git repository there)
  • Use Visual Studio or SourceTree to clone the 2sxc repository at https://github.com/2sic/2sxc to the empty folder ToSIC_SexyContent
  • Open cmd, navigate to the ToSIC_SexyContent folder and run npm install and bower install? (does Visual Studio automatically run bower and npm install when opening the solution?)
  • Clone the git repository at https://github.com/2sic/eav-ui to C:\Projects\eav
  • Clone the git repository at https://github.com/2sic/eav-server to C:\Projects\eav-server
  • Open the solution file in the 2sxc repository (2Sexy Content.sln) and build it
  • Make sure 2sxc still works in the DNN installation

That should do it - would love to hear your feedback :)

Upvotes: 2

Related Questions