Notes:
- PRO – Three or four Letter Project Abbreviation
- ENV – folder name for environment you're creating (dev, stage, live,
etc)
- Create Staging (Dev-B) & Local project Folders
- [Drive]:\Data\Projects\ PRO _Archives
- [Drive]:\Data\Projects\ PRO\ENV \Framework
- [Drive]:\Data\Projects\ PRO\ENV \ClarityConnect - If
required
- [Drive]:\Data\Projects\ PRO\ENV \Data
- [Drive]:\Data\Projects\ PRO\ENV \Web
- Download DNN
- Extract DNN to the Web folder
- Purchase Dev URL from GoDaddy
- Create IIS Site Instances in Local and Staging servers, point them
at your Web folders
- Staging Server's IIS, single site with 2 bindings:
- Local IIS, single site with 1 binding:
- Open SSMS and connect to SQL-A\SQL2014
- Create empty database with name: DNN_PRO
- Assign 'SQLLogin' user as dbo.owner of DNN_PRO
- Assign 'NETWORK_SERVICE' user as dbo.owner of DNN_PRO
- Open the Staging url (www.projectdev.us) in browser
- Run the DNN Installation that comes up
- Use the SQL-A\SQL2014 connection with database DNN_PRO
- Enter the new website as Host and go to Site and Host settings to
apply the name of the company, project, etc.
- Go to Host > Site Management and add all the IIS paths to the
main portal's Site Aliases list (.us and local. from #5 above)
¶ Stand up the CEF Repo Code, Services, IIS, etc.
- Get Stash/VSTS Link (Git Clone Path)
- TODO: No more Stash, use VSTS only
- Stash
- http://stash:7990 *Broken Link, Needs New Page*
- Clarity eCommerce Framework Project
- Framework Repository
- Copy URL supplied by the clone button at the top right of
the page
- Pull down latest from Git (Stash or VSTS)
- TODO: No more Stash, use VSTS only
- Stash with Visual Studio
- Open Visual Studio
- Open Team Explorer (View – Team Explorer)
- Open the Connect Tab (Projects – Manage Connections in Team
Explorer)
- Click on clone
- Enter the url from stash in the yellow box
- Choose the framework folder location
- Switch to the current release branch
- VSTS with Visual Studio
- Open the branches tab
- Current release branch is 4.6.0/Dev-Master, double click under
remotes/origin
- Create a new Branch from here for your project:
- TODO: Remove this, we no longer do this practice
- Right-Click the folder in Windows Explorer and select
TortoiseGit > Create Branch...
- Enter a new name of Release4_1_PRO
- Check Switch to new Branch
- Click OK
- The branch will switch but it will not publish this new
branch until you do code work and make a commit and push it
- Add NETWORK SERVICE with Full Control rights to the CEF folder, let
it replace permissions on all child files
- TODO: Step by step how to get to this from windows explorer
- Open the solution file Clarity.Ecommerce.All.sln with Visual Studio
2015
- Build the Solution (Build Menu – Build Solution)
- In the Solution Explorer expand 08.Clarity.Ecommerce.UI ->
framework -> service
- Right click on 'clarityEcomService.tt' and choose 'Run Custom
Tool'
- TODO: Replace this with searching for all .tt files and
running them all, compiling again and then running them all
again and then compiling one final time
- This needs to be done every time you make a change in
Clarity.Ecommerce.Service
- Open the 'Task Runner Explorer' (View – Other Windows - Task Runner
Explorer)
- If the Task Runner Explorer says Failed to Load in the left pane
- Open Package Manager Console from the View menu
- Type 'cd .\08.Clarity.Ecommerce.UI' and press Enter
- TODO: Note about cd .\ <tab> to see a visual list of
folders
- Type 'npm install -force' and press Enter
- Wait for npm to install, this will take several minutes
- If the Task Runner Explorer still won't load the file, see
Eric and/or Emily
- Go to Tasks and double-click buildAll
- Wait for it to finish, should say Done, without errors
- Go to 06.Clarity.Ecommerce.Service/web.config and open it
- TODO: Replace this with copying config files from the config
repo and updating then contents of those file instead
- Locate the connectionStrings section
- If the section is populated with connectionString values,
the file needs to be migrated to the new pattern:
- Create a new text document in the same folder named
web.connectionStrings.config (remove the .txt extension)
- Copy the first line of the web.config file and put it in
the new file (this line defines that it is xml contents)
- Copy the connectionStrings tag and it's child contents
only from the web.config and put it in the new file
- Edit the web.config instance of connection strings to
remove the child contents and the closing tag. Edit the
first part of the tag to say the following:
- <connectionStrings configSource="web.connectionStrings.config" />
- This self-closing tag tells the web.config to look for
this other file and use it's contents.
- This other file should not be checked into source
control and kept only on this server.
- Edit ClarityEcommerceEntities connectionString value (in the
web.connectionStrings.config file)
- Change initial catalog= the name of the database you
will use (usually CEF_450_PRO)
- Locate the appSettings section
- If the section is populated with values in the
web.config, it needs to be migrated just like the
connectionStrings section was, use a file name of
"web.appSettings.config", all other steps are identical.
- Update appSettings section (in the web.appSettings.config
file) variables to show the new Url paths and site names,
etc.
- Save the file(s) and close it/them
- Copy Admin skin from somewhere
- TODO: Change this to pulling it out of the CEF DNN Demo VSTS
repo
- \\DEVB\Data\Projects\MAY\Dev\Web_v01_001\Portals_default\Skins\Clarity-Admin
for example
- Copy Clarity.Ecommerce.dll (not the .Server.dll) from
06.Clarity.Ecommerce.Service\bin to dev\Web\bin folder
- TODO: Replace this with the instructions for which DLLs to copy
from the authhook t/s guide in the Back End SharePoint
- Open the DNN website in a browser
- Log in as a Super User (probably host, clarity or clarityteam)
- Go to Admin > Page Management in DNN Site in browser
- Right-click Admin and choose Add Pages…
- Name the new page 'Clarity Ecommerce Admin'
- Click the New Page in the Tree
- Delete any modules on the Clarity Admin page
- Select the Clarity Admin Skin and Update the page in DNN site
- Go to Windows Explorer\Website\DesktopModules
- Add a folder named ClarityEcommerce if one doesn't exist
- Open IIS
- Find your website and expand DesktopModules
- Right-click on ClarityEcommerce and select Add Application
- Name it API
- Navigate to the Framework folder and select the
06.Clarity.Ecommerce.Service folder
- Click OK
- Right-click on ClarityEcommerce and select Add Application
- Name it Reporting
- Navigate to the Framework folder and select the
07.Clarity.Ecommerce.Service.Reporting folder
- Click OK
- Give it a separate app pool from the main website (it is
usually memory and CPU intensive when running reports
and can slow the site down if not separated)
- Add Virtual Directory to ClarityEcommerce
- Name it UI
- Navigate to the Framework folder and select
08.Clarity.Ecommerce.UI
- Click OK
- Open your web browser
- Open <WEBSITE>/DesktopModules/ClarityEcommerce/API, this will
populate the ecommerce database with the default schema and data.
The database must already exist and have dbowner permissions from
the SQLLogin account
- TODO: Step-By-Step how to make the DB with the naming convention
(SQLA\SQL2014 : CEF_450_PRO)
- If you would like to have initial data set please add
<add key="Clarity.Ecommerce.EnableSampleData" value="true"/> to
the /06.Clarity.Ecommerce.Service/web.appSettings.config
- Log in as a Super User account again
- Go to the Admin page, see if it loads
- If it doesn't load, talk to James Gray
- Open Windows Explorer and Navigate to
Website\Portals_default\Skins\<SiteSkin>\ and open the Skin
file in Notepad++ or Visual Studio
- Add the eCommerce Store Script tag to the bottom of the file
- <script defer="defer" src="/DesktopModules/ClarityEcommerce/UI/lib/cef/framework/ClarityEcommerce.js">
</script>
- Open the Website Solution file in Visual Studio if you haven't
already
See the excel file for UI reference schema, there are also Wiki pages
for tags under Store in the left nav menu of this page.
For DNN Sites, entering the custom tags into the HTML module can be
tricky as by default the editor will strip any HTML or JavaScript that
it doesn't recognize or approve of. This is a safety feature of the
RadEditor (the WYSIWYG) control.
To get around this, perform the following steps:
-
Log in as host
-
Go to Host > HTML Editor Manager in the DNN Admin Bar
-
Click Default Configuration
-
Scroll to the bottom and click the Copy button
-
Choose Administrators from the Bind to Roles area
-
Check Bind to Website
-
Click the Create button
-
In your new Administrator (Current Portal only) profile, uncheck all
the Content Filters
-
Click the Update button
-
Go to your HTML Module instance on a page and click Edit Content
-
Switch to HTML mode and put in
<div cef-cart>
</div>
or <cef-cart />
-
Click Design and then HTML again and observe the only change made
was it added ="" to our custom tag (which doesn't break it)
-
Save your changes and observe the My Cart module actually shows up
on the page
From here, you can continue with additional tag settings like template,
etc. Note that making a folder named Ecommerce and then matching folder
paths with .ts, .css and .html files will allow you to override the
default files in CEF's UI project automatically. See Eric and/or Emily
for details. TODO: Make a guide in SharePoint